0
我有一個48x48的piexl值列表,我想將其寫爲灰度圖像文件。opencv:將像素寫入圖像
爲此,我將列表轉換爲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
這顯然與數據類型來做些什麼,而應該imwrite的第二個參數是如果不是numpy的陣列?
奇怪。這件作品'pix = [xrange(5)中x的範圍(5)]; cv2.imwrite('test.jpg',np.array(pix))' – Zero
@JohnGalt在將像素值歸一化爲0〜1而不是0〜255之後,它現在可以工作,但是我得到的只是一幅黑色圖像,與數字無關... – ytrewq
相對於0-255比例的0〜1值只不過是0/1值,僅爲黑色。可能用255乘以數值並寫入數組。 – Zero