【发布时间】:2021-07-29 01:47:41
【问题描述】:
我可以使用 kivy 相机读取图像。我希望使用与此类似的代码来解释该图像中的二维码
texture = self.cameraObject.texture
size=texture.size
frame=texture.pixels
pil_image = Image.frombytes(mode='RGBA', size=size,data=frame)
pix=numpy.array(pil_image)
im=Image.fromarray(pix)
qrCodeDetector =cv2.QRCodeDetector()
decodedText, points, _ = qrCodeDetector.detectAndDecode(pix)
Kivy 相机允许我扫描图像,但要使用 QR 检测器,图像必须转换为 numpy 数组
我有一个导入,然后是一个开始的类
from kivy.uix.image import Image
class KivyCamera(Image):
def __init__(self, **kwargs):
super(KivyCamera, self).__init__(**kwargs)
self.capture = None
# and so on
程序运行,但 PIL Image 类中的方法不可用。例如 Image.frombytes 和 Image.fromarray 需要将图像转换为另一个图像。
将图像导入更改为
from PIL import Image
程序崩溃并显示错误消息
class KivyCamera(Image):TypeError: module.init() 最多接受 2 个参数(给定 3 个)
如何使用似乎不可能的 kivy Image 进行图像转换,或者如何让 init 模块接受 PIL Image 类?
【问题讨论】: