我有一个48x48的piexl值列表,我想把它写成灰度图像文件。
为此,我将列表转换为numpy数组并使用imwrite。
import cv2
from numpy import array
......
#pix is a 48x48 list containing pixel values
pix = array(pix)
cv2.imwrite('test.jpg',pix)
但是,它会返回以下错误
Traceback (most recent call last):
File "face_detect.py", line 20, in <module>
cv2.imwrite('test.jpg',pix)
TypeError: img data type = 18 is not supported
这显然与数据类型有关,但如果不是一个numpy数组,imwrite的第二个参数应该是什么?
答案 0 :(得分:0)
我发现了问题,包括帖子和我在下面的评论。
我从csv文件读取值,其中数字用空格分隔。我使用line.split()将它们分成不同的数字,但实际上我仍将它们视为字符串。
所以我所要做的就是将它们转换为整数。我也不需要将其标准化,0~255是正确的。
这是我的愚蠢,但万一有人遇到同样的问题。