图像结构
像素连接关系:
领域:4、D、8邻域
图像连通域
1.根据种子像素搜索最大连通区域
区域增长、种子填充:
- 灰色为希望增长的区域,红色为种子,算法:
- 将红色标记为区域1,对于领域(4/8)满足条件的:是0没有标记,I表示像素值,像素值与当前像素满足小于一个阈值的条件,就放入队列中作为种子,直到种子活跃区为空停止。
2.快速连通域算法
从左到右、从上到下扫描,4四邻域时考虑左边和上面p、q分为四种情况:
- x!=p && x!=q:都不相同,新的类
- x=p 或 x=q标记为相同的类
- x=p=q, L§=L(q)都相同直接标记
- x=p=q, L§!=L(q)不同和其中一个标记相同,其余两个进行合并
并查集:
方便于表示是同一个类找到最终的根的数据结构。有find(),unite()。
最短路径
单源最短路径: 所有结点到某个结点的最短路径 (Dijkstra);多源;通过增加一个点,将多源转化成单源:
定义颜色差反比与距离:
快速求距离场:
一维:
二维类似使用模板不同:
问题:没有小数,全部是整数,表示距离不准确:
欧氏距离模板:
图切割
最大流,图中的边对应容量,一条路径的最大流由路径的最小容量决定,切割掉一些最小容量使两个点在两个图中叫最小割;在图片中,根据颜色建图后,容量越小颜色差越大,通过前背景标记的像素分别作为起点终点,建图,通过最小割就能将图像中容量小对应颜色差异大的边切开,将前背景分离,得到图分割:
形态学与二值图结构
膨胀:
相当于拿集合B对集合A作一遍滤波式加法;
桥接文字裂缝;
模板是小块,中心是要膨胀的点,只有周围四个点与图像有交时i,将中心点进行拓展。
腐蚀:
只有模板的周围四个图像全部落在图像上才保留,否则丢弃。
、
开操作和闭操作
开操作
边界由B中的点完成,B在A内部边界转动,B能到达的A的边界的最远点为边界。
闭操作:
B在A边界外部转动,边界由B点完成
应用:
https://blog.csdn.net/weixin_43682519/article/details/110268506
骨架:
具体应用:(未解)