【发布时间】:2016-09-13 04:56:26
【问题描述】:
我有一张人脸的 jpg 图片,我需要逐像素访问图片(知道每个像素的值),并使用某种 DFS 来更改背景颜色。
image = Image.open("pic.jpg")
image = np.array(image)
首先,为什么数组的形状是(473, 354, 3)?这对我来说没有意义。
当我这样做时
plt.imshow(image.reshape(473, -1))
plt.show()
我得到的图片如下所示,其中仅包含红色、蓝色和黄色(以及三种颜色的混合?)
这意味着数组中的值不是我可以可靠地用来做出边缘检测决策的值。
为什么以及我应该怎么做?
我希望像素值反映原始图像的真实颜色,而不是像上面那样。
实际图片中的背景有点白,我希望它们和所有其他像素值保持这种状态,这样我就可以实现我的算法了。
【问题讨论】:
标签: python image numpy image-processing jpeg