unsigned char* 图像 转换为 Python
我用SWIG生成了一个相机库的Python接口,现在可以用这个库自带的功能来捕捉和保存图像。 我想把相机的数据转换成Python图像库可以用的格式,这个库提供的功能是返回无符号字符指针(unsigned char*)类型的数据。 有没有人知道怎么把无符号字符指针的图像数据转换成我可以在Python中使用的格式? 简单来说,我就是想把无符号字符指针的图像数据转换成Python图像库的格式。
谢谢大家。
3 个回答
0
我猜这些 unsigned char
实际上是图片的字节数据,所以你可以直接通过以下方式来存储它们:
with open('filename', mode='wb') as file:
file.write(image_bytes)
(前提是你已经在当前工作目录下有一个叫 filename
的文件。)
1
我觉得你应该使用 fromstring
这个方法,具体的说明可以在这里找到:
另外,还有一篇关于如何用Python和OpenCV从摄像头捕获数据的好文章,值得一读: http://www.jperla.com/blog/post/capturing-frames-from-a-webcam-on-linux
1
大家好,经过一番努力(可能因为我还是个Python新手),我终于解决了这个问题。
我写了一个数据结构,让Python能够理解,并把无符号字符型的图像转换成这个结构。写完这个自定义数据结构的接口后,我成功地把图像转换成了Python图像库所需的格式。
我想把代码贴在这里,但系统不允许超过500个字符。
这里有我代码的链接:
http://www.optionsbender.com/technologybending/python/unsignedcharimagedatatopilimage
我还附上了一些文件,方便大家使用。