【发布时间】:2013-02-10 22:29:21
【问题描述】:
我有一张图片,我想从中提取一个区域。我有这个区域的左上角和右下角的坐标。在灰度中,我这样做:
I = cv2.imread("lena.png")
I = cv2.cvtColor(I, cv2.COLOR_RGB2GRAY)
region = I[248:280,245:288]
tools.show_1_image_pylab(region)
我不知道如何用彩色来做。我想提取每个通道R,G,B;从每个通道中切出该区域并将它们重新合并在一起,但必须有更短的方法。
【问题讨论】:
-
这本身也适用于彩色图像。
-
在将图像转换为灰度之前尝试一下
-
也许您可以使用
GetRectSubPix()来获取区域而不是切片。 -
我刚刚测试过了。我得到了彩色图像本身。使用 cv2.imshow() 函数显示图像,而不是任何 pylab 或 matplotlib 函数,它只是显示在不同的颜色图中。
-
如果您对此有疑问,请检查 region.shape 并确保其格式为
[rows,cols,3]。
标签: python opencv image-processing