【发布时间】:2015-09-16 16:35:32
【问题描述】:
在以下代码中,我首先将图像转换为 Numpy 数组:
import numpy as np
from PIL import Image
sceneImage = Image.open('peppers.tif')
arrImage = np.array(sceneImage) # 256x256x3 array
现在我定义了一个新数组,并按照以下代码将arrImage放入其中:
import matplotlib.pyplot as plt
final_image = np.zeros((N,N,3))
final_image[...,0] = arrImage[...,0]
final_image[...,1] = arrImage[...,1]
final_image[...,2] = arrImage[...,2]
plt.imshow(final_image)
plt.show()
换句话说,我已经分别复制粘贴了 R、G 和 B 组件(尽管这样做更容易,但我是故意这样做的)。
现在,问题是fianl_image 和arrImage 没有向我显示相同的图像。形状如下所示:
这两个不一样有什么问题?
【问题讨论】:
-
你是如何显示这两个数组的?看起来您已将 YUV 图像显示为 RGB。
-
这里的
N是什么? -
final_image = np.zeros((N, N, 3),dtype=np.uint8)? -
@Divakar 这是图片的大小。
-
@PadraicCunningham 谢谢。这样就解决了问题。您能否将其添加到我可以接受的答案部分?
标签: python numpy image-processing python-imaging-library