У меня есть кнопка переключения, которая позволяет запускать и останавливать веб-камеру с помощью 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
Мой файл кв:
<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'
Можете ли вы мне помочь?пожалуйста?