我能够使用SWIG生成相机库的Python绑定,并且能够使用库的内置功能捕获和保存图像。我正在尝试将相机数据从python映像库格式获取,该库提供了将相机数据返回无符号char*的功能。有谁知道如何将未签名的char*图像数据转换为我可以在Python中使用的一些数据格式?基本上,正在尝试将未签名的char*图像数据转换为Python图像库格式。

谢谢你。

有帮助吗?

解决方案 2

好的,大家好,所以终于经过漫长的战斗(也许是因为Python的新手),我解决了。

我编写了一个数据结构,可以通过Python理解,并将未签名的char*图像转换为该结构。在编写自定义数据结构的接口后,我能够将图像放入Python图像库图像格式中。我想在这里粘贴代码,但它不会允许更多的500个字符。这是我代码的链接

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

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

其他提示

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

如何使用PIL读取原始图像?

此外,还有一篇很好的文章,关于使用Python和OpenCV从相机捕获数据的好文章,值得一读: http://www.jperla.com/blog/post/capturing-frames-frames-from-a-webcam-on-linux

我想那些 unsigned chars是实际的图像字节,因此您可以直接通过以下方式存储这些字节:

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top