【问题标题】:kivy image and PIL imagekivy 图像和 PIL 图像
【发布时间】: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 类?

【问题讨论】:

    标签: image class camera kivy


    【解决方案1】:

    您可以像这样导入两个Image 类:

    from kivy.uix.image import Image
    from PIL import Image as Pimage
    

    然后,无论您想在哪里使用 PIL Image,请使用 Pimage

    pil_image = Pimage.frombytes(mode='RGBA', size=size,data=frame)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-31
      • 2011-07-12
      • 2015-11-29
      • 2018-05-29
      • 2015-12-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多