unsigned char * image to Python

时间:2010-08-27 15:57:44

标签: python c++ python-imaging-library unsigned-char pep3118

我能够使用SWIG为相机库生成python绑定,并且我能够使用库的内置函数捕获和保存图像。 我试图从相机获取数据到Python Image Library格式,该库提供了将相机数据作为unsigned char *返回的函数。 有谁知道如何将unsigned char * image数据转换成我可以在Python中使用的某些数据格式? 基本上我正在尝试将unsigned char *图像数据转换为Python Image Library格式。

谢谢。

3 个答案:

答案 0 :(得分:1)

我相信你应该使用fromstring方法,如下所述:

How to read a raw image using PIL?

另外,有一篇关于使用python和opencv从摄像头捕获数据的文章,值得一读:http://www.jperla.com/blog/post/capturing-frames-from-a-webcam-on-linux

答案 1 :(得分:1)

好的伙计们,经过长时间的斗争(也许是因为我是python的新手),我终于解决了。

我编写了一个可以被python理解的数据结构,并将unsigned char * image转换为该结构。在为自定义数据结构编写接口之后,我能够将图像转换为Python Image Library图像格式。 我想在这里粘贴代码,但它不会允许更多的500个字符。 这是我的代码的链接

http://www.optionsbender.com/technologybending/python/unsignedcharimagedatatopilimage

我还附加了文件,以便您可以使用它。

答案 2 :(得分:0)

我假设那些unsigned char是实际的图像字节,所以你可以直接存储它们:

with open('filename', mode='wb') as file:
    file.write(image_bytes)

(只要您当前工作目录中已有一个名为filename的文件。)