【发布时间】:2022-12-14 11:20:55
【问题描述】:
我正在尝试制作一个应用程序,每秒从 kivy 的网络摄像头捕获 30 张图像。
但是当我运行它时,它给我这个错误:
AttributeError: 'float' object has no attribute 'ids'
这是重现问题的代码:
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout
from kivy.clock import Clock
Builder.load_string('''
<CameraClick>:
orientation: 'vertical'
Camera:
id: camera
resolution: (640, 480)
play: True
''')
class CameraClick(BoxLayout):
def capture(self):
'''
Function to capture the images from the camera
'''
camera = self.ids['camera']
camera.export_to_png("IMG.png")
print("Captured")
event = Clock.schedule_interval(capture, 1 / 30.)
class TestCamera(App):
def build(self):
return CameraClick()
TestCamera().run()
此代码会引发错误,但删除 event = Clock.schedule_interval(capture, 1 / 30.) 可修复该错误,但我需要该行代码。
问题:
那么,如何修复错误,以便我可以从网络摄像头捕获图像并存储它们?
【问题讨论】: