我能够使用 SWIG 为相机库生成 python 绑定,并且能够使用库的内置函数捕获和保存图像。我正在尝试从相机获取数据为 Python Image Library 格式,该库提供了将相机数据返回为 unsigned char* 的函数。有谁知道如何将 unsigned char* 图像数据转换为我可以在 Python 中使用的某种数据格式?基本上我正在尝试将 unsigned char* 图像数据转换为 Python 图像库格式。
谢谢你。
我能够使用 SWIG 为相机库生成 python 绑定,并且能够使用库的内置函数捕获和保存图像。我正在尝试从相机获取数据为 Python Image Library 格式,该库提供了将相机数据返回为 unsigned char* 的函数。有谁知道如何将 unsigned char* 图像数据转换为我可以在 Python 中使用的某种数据格式?基本上我正在尝试将 unsigned char* 图像数据转换为 Python 图像库格式。
谢谢你。
我相信您应该使用该fromstring
方法,如此处所述:
此外,还有一篇关于使用 python 和 opencv 从相机捕获数据的好文章值得一读:http ://www.jperla.com/blog/post/capturing-frames-from-a-webcam-on-linux
好的,伙计们,经过长时间的战斗(也许是因为我是 python 的新手),我终于解决了。
我写了一个 python 可以理解的数据结构,并将 unsigned char* 图像转换为该结构。为自定义数据结构编写接口后,我能够将图像转换为 Python 图像库图像格式。我想在这里粘贴代码,但它不允许超过 500 个字符。这是我的代码的链接
http://www.optionsbender.com/technologybending/python/unsignedcharimagedatatopilimage
我还附加了文件,以便您可以使用它。
我假设这些unsigned char
s 是实际的图像字节,因此您可以通过以下方式直接存储它们:
with open('filename', mode='wb') as file:
file.write(image_bytes)
(只要您已经filename
在当前工作目录中命名了一个文件。)