Kivy Com opencv. Redimensionando o tamanho da imagem
Quero inserir um vídeo da webcam opencv no kivy. Infelizmente, quando faço isso e maximizo a janela, a imagem não se ajusta ao tamanho da tela. Há alguma maneira de fazer isso ?
from kivy.app import App
from kivy.uix.image import Image
from kivy.clock import Clock
from kivy.graphics.texture import Texture
import cv2
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.gridlayout import GridLayout
from kivy.uix.widget import Widget
from kivy.uix.button import Button
from kivy.lang import Builder
from kivy.core.window import Window
Window.size=(1000,1000)
class KivyCamera(Image):
def __init__(self, capture, fps, **kwargs):
super(KivyCamera, self).__init__(**kwargs)
self.capture = capture
Clock.schedule_interval(self.update, 1.0 / fps)
def update(self, dt):
ret, frame = self.capture.read()
if ret:
buf1 = cv2.flip(frame, 0)
buf = buf1.tostring()
image_texture = Texture.create(size=(frame.shape[1], frame.shape[0]), colorfmt='rgb')#(480,640)
image_texture.blit_buffer(buf, colorfmt='bgr', bufferfmt='ubyte')
# display image from the texture
self.texture = image_texture
class CamApp(App):
def build(self):
self.camera= cv2.VideoCapture(2)
self.my_camera = KivyCamera(capture=self.camera, fps=10,resolution=(1280,960))
return self.my_camera
def on_stop(self):
self.camera.release()
if __name__ == '__main__':
CamApp().run()
Espero que o tamanho do quadro aumente quando o tamanho da janela for aumentado. Quando tento alterar o tamanho da Textura, ocorre um erro. Como mostra imagens estranhas ou não abre nenhuma janela. Seria ótimo se alguém pudesse ajudar. Obrigado !