1.像素距离与连通域

1.1 像素距离

定义两个像素之间的距离关系。
欧氏距离:即x,y方向的平方和开根号
街区距离:即x,y方向行进距离之和
棋盘距离:x方向距离和y方向距离的最大值

相关函数:
图像距离变换函数。目前没有理解这类函数的作用。image.png
labels是二维的标签数组(Voronoi图),与输入图像具有相同尺寸,数据类型为CV_32S;
distanceType:1-街区距离,2-欧氏距离,3-棋盘距离,-1—-自定义距离;
labelType:要构建的标签数组的类型;

简化版,取消了标签数组的构建:
image.png

1.2连通域分析

为了防止像素值波动对提取不同连通域的影响,连通域分析多是对于二值化后的图像。
邻域类型分为四邻域和八邻域。
四邻域是上下左右四个;八邻域是周围一圈。
邻域分析法,常用的有 两遍扫描法 和 种子填充法。
Opencv提供了用于提取不同连通域的connectedComponents()函数
image.png
image:CV_8U单通道
labels:标记不同连通域后的输出图像,与输入图像有相同尺寸。
connectivity:4-四邻域,8-八邻域
ltype:输出图像的数据类型
ccltype:算法标志
返回图像中的连通域数目(int)

简化版:
image.png

虽然此函数可以实现图像中多个连通域的统计,但只能通过标签将图像的不同连通域区分开,无法得到更多的信息。
要获取更多信息,给出函数connectedComponentsWithStats()
image.png
image:CV_8U单通道
labels:标记不同连通域后的输出图像,与输入图像有相同尺寸。
stats:含有不同连通域统计信息的矩阵,CV_32S,矩阵中第i行是标签为i的连通域的统计特性。如下:
image.png
centroids:每个连通域的质心坐标,CV_64F

简化版
image.png

2.腐蚀和膨胀

腐蚀和膨胀是图像形态学的基本运算。可以用于去除噪声 ,分割出独立的区域,或将两个连通域连接在一起等。比如说,面积较小的连通域就可以通过腐蚀操作来消除,从而减少因噪声导致的连通域计算错误。

2.1 图像腐蚀

图像腐蚀过程类似图像卷积。用结构元素对图像做卷积,去除部分像素。
图像腐蚀过程中使用的结构元素可以根据自己的需求形成,同时,opencv也提供了相关的函数。
image.png
shape标志:
分别为,矩形,十字,椭圆结构。
image.png
opencv给出了图像腐蚀的函数
image.png
src:图像的通道数是任意的
iterations:腐蚀的次数

2.2 图像膨胀

相比于图像腐蚀,图像膨胀是其相反的过程。
同样也是用结构元素做“卷积”,不过膨胀是来填充。
image.png

3.形态学应用

形态学腐蚀可以去除较小的噪声,但却会将图像主要区域的面积缩小,造成主要区域的形状发生改变。
形态学膨胀可以扩充每一个区域的面积,填充较小的空洞,但同时也会增加噪声的面积。
这是我们不希望看到的。为了根据各组操作的特性,选择最优的图像处理方式,下面将介绍如何利用不同顺序的图像腐蚀和膨胀实现各组图像处理操作。

3.1 开运算

图像开运算可以去除图像中的噪声,消除较小连通域,保留较大连通域;同时能够在两个物体纤细的连接处将两物体分离并平滑边界。
Opencv4没有提供只用于图像开运算的函数,而是提供了图像腐蚀和膨胀运算的不同组合形式的morphologyEx()函数,以实现图像的开运算、闭运算、形态学梯度、顶帽运算、黑帽运算以及击中击不中运算等。
image.png
image.png
op:形态学操作类型的标志
image.png
0 图像腐蚀
1 图像膨胀
2 开运算
3 闭运算
4 形态学梯度
5 顶帽运算
6 黑帽运算
7 击中击不中运算

这部分书上介绍的也相对简略,参考CSDN这篇文档:
https://blog.csdn.net/qrbbqrbb/article/details/85139474?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164266589416780265456498%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164266589416780265456498&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-8-85139474.pc_search_insert_ulrmf&utm_term=morphologyEx%28%29&spm=1018.2226.3001.4187