Python Numpy数组声明何时没有参数?

2024-03-29 05:40:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个相机连接到我的电脑,产生16位灰度图像。我用相机制造商的专有软件导入它们,然后将它们插入numpy数组中。在

imObj = fc2.Image()
frame = np.array(c.retrieve_buffer(imObj)) 

这会将数组强制转换为uint8。如果我试图将dtype参数添加到数组声明中:

^{pr2}$

我得到以下输出:

typeError: __array__() takes no arguments (1 given) 

有人知道是什么引起的吗?在

编辑: 我正在使用pyflycapture2。我不知道如何调用或设置图像类属性。在


Tags: 图像imagenumpy软件buffernp数组array
1条回答
网友
1楼 · 发布于 2024-03-29 05:40:22

似乎您可能正在使用pyflycapture2,它似乎没有一个能够重铸数据的__array__钩子。在

相反,它的__array__钩子选择了与图像相应的dtype。也就是说,如果底层格式是PIXEL_FORMAT_MONO8,则返回基于uint8的数组;如果格式是PIXEL_FORMAT_MONO16,则返回基于uint16的数组。在

有必要检查一下图像格式(c.retrieve_buffer(imObj).img.format)是否是您认为的格式?在

相关问题 更多 >