单击toggleButton后,Kivy网络摄像头CV2位置更改

时间:2019-03-04 06:41:33

标签: image camera kivy kivy-language

我有一个切换按钮,允许使用cv2运行和停止网络摄像头。

一切正常,但每次按下切换按钮时图像位置都向右移动。

开始时,cv2摄像机位于右侧位置(在中心),但是当我停下来并使用切换按钮运行摄像机时,图像在右侧移动。

每次我倒退相机时,图像都会在右侧逐步移动。

class PlayToggleButton(ToggleButton):
    def on_state(self, widget, value):
        if value == 'down':
            self.text = 'Stop'
            self.source = 'atlas://data/images/defaulttheme/checkbox_on'
            App.get_running_app().root.ids.camera.build()
        else:
            self.text = 'Play'
            self.source = 'atlas://data/images/defaulttheme/checkbox_off'
            App.get_running_app().root.ids.camera.img1.source = 'black.jpg'
            App.get_running_app().root.ids.camera.img1.reload()
            App.get_running_app().root.ids.camera.capture.release()


class CameraImage(BoxLayout):
    cam = ObjectProperty()

    def build(self):
        self.img1=Image(source = 'black.jpg')
        layout = self.add_widget(self.img1)
        #opencv2 stuffs
        self.capture = cv2.VideoCapture(0)
        ret, frame = self.capture.read()

        Clock.schedule_interval(self.webcam_stream, 1.0/33.0)
        return layout

我的kv文件:

<MeetingDB>:
orientation:'vertical'
meeting_list: meeting_view
attendance_list: attendance_view
cam: camera

CameraImage:
    id: camera
PlayToggleButton:
    text: 'Play'
    size_hint_y: None
    height: '48dp'

能帮我吗?

0 个答案:

没有答案