OpenCV侵蚀和彩色图像上的扩张

时间:2017-04-21 05:05:32

标签: opencv image-processing

二值图像上的侵蚀会减少白色区域,而膨胀会增加白色区域。我使用OpenCV在彩色图像上尝试了相同的效果,并得到了类似的结果。我尝试在二进制jpeg图像上进行侵蚀/扩张。由于有损压缩,图像的强度在[0,5]和[250,255]。我发现的结果很有趣。侵蚀使图像在结构元素中搜索最小值并替换它。膨胀使用最大值。

在彩色图像的情况下,颜色如何被认为更小或更大?他们间接地将值转换为灰色,看强度然后决定哪个更大?或者他们使用三种颜色的平均值?第三种可能性是它们在所有三种颜色(R,G,B)上分别侵蚀/扩张。使用了哪一种方法?

2 个答案:

答案 0 :(得分:2)

这些形态操作不容易为彩色图像定义,因为颜色传达矢量信息(三个分量),不能比较小/大。

常见的实现只是独立地着色颜色平面。这样做的缺点是没有良好的数学证明,并且引入了原始图像中不存在的颜色。

另一种选择是可能的,但似乎没有使用,似乎:如果您选择一种颜色,您可以通过选择与所选像素最接近/最远的像素的颜色来扩张/侵蚀。

答案 1 :(得分:1)

R,G和B通道中的每一个都是单独处理的。

来自manual(强调我的):

  

该函数使用指定的结构扩展源图像   确定像素邻域形状的元素   最大值是......   功能支持就地模式。扩张可以应用几种(   迭代次数。 对于多通道图像,每个通道都是   独立处理