【发布时间】:2015-01-11 02:24:06
【问题描述】:
我正在尝试在双矩阵中获取多个灰色图像,以便稍后在其上应用 PCA,但我想知道为什么以下方法不起作用:
输入多维numpy数组(灰度图)
darray = np.empty([2,270,270], dtype=int)
darray[0] = cv2.imread("img.png", 0)
print(darray[0].shape)
print(type(darray[0]))
print(darray[0])
cv2.imshow("face", darray[0])
cv2.waitKey(3000)
输出(仅黑色图像)
(270, 270)
<type 'numpy.ndarray'>
[[11 12 13 ..., 33 34 35]
[13 12 11 ..., 34 36 37]
[14 13 12 ..., 33 34 35]
...,
[82 81 81 ..., 94 93 93]
[82 81 81 ..., 96 95 95]
[83 82 82 ..., 92 92 92]]
**Only black as image**
输入法线数组(灰度图)
nparray = cv2.imread("img.png", 0)
print(nparray.shape)
print(type(nparray))
print(nparray)
cv2.imshow("face", nparray)
cv2.waitKey(3000)
输出(普通图像)
(270, 270)
<type 'numpy.ndarray'>
[[11 12 13 ..., 33 34 35]
[13 12 11 ..., 34 36 37]
[14 13 12 ..., 33 34 35]
...,
[82 81 81 ..., 94 93 93]
[82 81 81 ..., 96 95 95]
[83 82 82 ..., 92 92 92]]
**normal gray image**
为什么第一段代码只返回黑色图像,第二段代码是我读取的正常图像?
系统规格
- Ubuntu 12.04
- Python 2.7.3
- OpenCV 2.4.9
【问题讨论】:
-
using: np.savetxt('darray.txt', darray[0]) 或 np.savetxt('nparray.txt', nparray) 都给出相同的输出文件,所以我不明白为什么 cv2.imshow() 不能同时在两者上工作?
标签: python arrays image numpy multidimensional-array