【发布时间】:2020-07-18 05:44:17
【问题描述】:
您好,我正在尝试构建一个扫描仪,它可以拍摄图像并单击提交按钮,它应该在新屏幕中返回结果图像,这是我到现在为止的地方,非常感谢您的帮助。提前致谢
from kivy.app import App
from kivy.lang import Builder
import time
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.image import Image
Builder.load_string( '''
<CameraClick>:
orientation: 'vertical'
Camera:
id: camera
resolution: 500,500
BoxLayout:
orientation: 'horizontal'
size_hint_y: None
height: '48dp'
Button:
text: 'Click'
on_press: root.capture()
on_release: camera.play = False
Button:
text: 'Submit'
on_press: root.capture()
on_release: camera.play = False
''')
class CameraClick(BoxLayout):
def capture(self):
'''
Function to capture the images and give them the names
according to their captured time and date.
'''
camera = self.ids['camera']
print("camera down")
print(type(camera))
timestr = time.strftime("%Y%m%d_%H%M%S")
camera.export_to_png("IMG_{}.png".format(timestr))
print("Captured")
return Image(source='hey.png')
# def release(self):
class CameraApp(App):
def build(self):
return CameraClick()
if __name__ == '__main__':
CameraApp().run()
【问题讨论】:
-
分配给按钮(或菜单)的函数无法返回值,因为没有对象可以获取此值。您应该将其分配给全局变量或类变量 - 即。
self.image- 和其他类/函数应该从这个变量中获取它。
标签: python opencv kivy kivy-language