我有一个切换按钮,允许使用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'
能帮我吗?