opencv-侵蚀和扩张

形态作业:形态操作将结构元素应用于输入图像并生成输出图像。

最基本的形态作用是:侵蚀和扩张。

  1. 消除噪音
  2. 隔离单个元素并连接图像中的不同元素。
  3. 查找图像中的强度凸点或孔

扩张

该操作包括将图像与某些内核进行卷积,其可以具有任何形状或尺寸,通常为正方形或圆形。

内核具有定义的锚点,通常是内核的中心。

当内核在图像上扫描时,我们计算由B重叠的最大像素值,并用该最大值替换锚点位置中的图像像素。您可以推断,这种最大化的操作会使图像中的亮区“增长”(因此称为扩张)。

执行扩张的代码在opencv里为:

 dilate(src, dilation_dst, element );
/*
1.src为原图像(imread)
2.erosion_dst输出图像
3.element 为执行操作的内核(卷积核),默认为3*3的矩阵
我们可以使用cv::getStructuringElement来指定需要的内核(如下使用)
*/
 Mat element = getStructuringElement( erosion_type,
                       Size( 2*erosion_size + 1, 2*erosion_size+1 ),
                       Point( erosion_size, erosion_size ) );
/*

1.矩形框:MORPH_RECT
2.十字架:MORPH_CROSS
3.椭圆:MORPH_ELLIPSE

*/

侵蚀

它计算给定内核区域的局部最小值。

当内核在图像上扫描时,我们计算由重叠的最小像素值,并用该最小值替换锚点下的图像像素。

对于扩张的例子,我们可以将侵蚀算子应用于原始图像

opencv种侵蚀的接口为:

erode( src, erosion_dst, element );//参数解释同上

 

 

 

你可能感兴趣的:(图像处理)