代码之家  ›  专栏  ›  技术社区  ›  Keir

Kivy相机获取图像

  •  0
  • Keir  · 技术社区  · 3 年前

    我正在尝试使用kivy来捕捉二维码的图像。 使用

    from kivy.uix.camera import Camera
    self.cameraObject = Camera(play=True,resolution=(640,480),index=0)
    

    我成功捕获了一张图像,可以将其保存到文件中

    self.cameraObject.export_to_png('./selfie.png')
    

    我希望将图片放入一个变量中,然后用于检查二维码。我可以从刚保存的文件中读取图像,但图像已经存储在相机对象中。我找不到返回图像的Camera方法。 我想做的事情是这样的;

    frame=self.cameraObject.get_image()
    

    遗憾的是,这似乎并不存在,我在“相机方法”列表中看不到可能的命令。这能做到吗?

    0 回复  |  直到 3 年前
        1
  •  1
  •   John Anderson    3 年前

    您可以获得的参考 Texture Camera Image 使用:

    texture = self.cameraObject.texture
    

    请注意 texture 将随每帧而变化 照相机 捕获。

    您可以从 纹理 :

    pixels = texture.pixels
    
        2
  •  1
  •   Keir    3 年前

    好的,这很管用。。。。所以

    import numpy
    from PIL import Image
    
    texture = self.cameraObject.texture
    size=texture.size
    pixels = texture.pixels
    pil_image=Image.frombytes(mode='RGBA', size=size,data=pixels)
    numpypicture=numpy.array(pil_image)
    
    

    谢谢Anderson先生