首页 > 编程知识 正文

matlab遗传算法,图片不重叠算法js

时间:2023-05-06 14:22:41 阅读:30843 作者:1229

设置领域标记,循环标记的最终结果形成分水岭。 该算法在分割数方面比较准确,但分割结果的准确性存在一定缺陷[1]。 基于形态学的分割算法利用腐蚀操作找到分割点,实现重复粒子的分割[2],但该算法在粘连粒子体积差异较大时无法准确分割。 凹点匹配的方法是利用凹点描述边界凹陷情况,利用重叠区域的边界轮廓寻找凹点,从边界上的凹点寻找分离点分割重叠区域。 传统的基坑匹配方法主要存在两个问题:1)不能准确找到所有基坑)识别所有基坑,同时不能将噪声点识别为基坑; 2 )在正确识别基坑的基础上实现基坑的正确配对,往往会对重叠情况复杂的颗粒产生错误的匹配。

本文针对现有的基于凹点匹配的重叠图像分割算法存在的问题提出了改进方法,主要步骤是采用canny边缘检测获取重叠区域的边界轮廓,当边缘检测得到的边界有断裂时,首先进行连续边界轮廓的恢复; 然后根据连续边界轮廓确定凹坑,将相邻凹坑视为一个凹坑组,其中凹坑最明显的凹坑作为各凹坑组的代表凹坑,凹坑组中的凹坑数量是表示凹坑的权重,代表凹坑是匹配的凹坑; 最后通过匹配代表凹点确定分割点,实现图像中重叠粒子的分割。

1现有凹点匹配算法介绍

基于凹点匹配的图像分割算法主要包括以下步骤: 得到重叠粒子的边界; 根据寻找边界中凹陷的凹点进行重叠粒子的分割。

凹点匹配最重要的步骤是确定用于图像分割的匹配凹点对。 重合凹点对是用于粒子叠加分割的一个点对,通过连接重合凹点对的曲线段可以将待分割图像分割成两部分,因此该分割曲线段可以称为分割线,现有的凹点匹配算法主要有以下三种:

启发式搜索算法从重叠区域的基坑排中选取起点和终点对,利用代价函数搜索从起点到终点代价函数最小化的路径[3]。 但是,相关文献中没有提到寻找合适的起点和终点的具体内容。

第二种算法以重叠区域凹坑串中的最大曲率点为起点,以最接近该起点的一个凹坑为终点实现重叠区域的分割,但仅在这一条件下进行匹配效果不好。

第三种算法是根据粒子重叠情况采用不同凹点匹配方法的智能分割方法。 如果存在少量重叠,则通过匹配凹坑间的距离是否小于预定阈值来判断是否匹配; 在重叠严重的情况下,该算法从一个凹点出发,按照灰度值局部最小的原则在等间隔的两个相邻边界点所成角度的平分线方向上寻找分割线[4]。 该算法假设重叠区域之间存在细长灰度值小的区域,因此该算法不适用于粒子重叠严重的情况。

2一种改进的凹点匹配算法

为了利用canny边缘检测结果搜索重叠区域的连续边界,算法考虑了边缘检测结果存在断裂的情况。 另外,考虑到重叠区域边界轮廓凹陷程度的差异,算法将凹坑组中相邻凹坑的数量作为代表凹坑的权重,权重越大,该代表凹坑成为分割点的可能性越高。 另外,对于表示凹点的匹配,算法在表示凹点的匹配中提出了新的凹点匹配条件,并将匹配后的凹点对作为分割点。 2.1获取图像边界轮廓

2.1.1图像预处理

将原始图像转换成灰度图像,用灰度阈值对该灰度图像进行二值化处理,得到对应的二值图像。 受背景和光线的影响,经常在粒子的中间形成小孔。 为了准确地找到重叠区域的边界轮廓,用图像中的对象粒子的灰度填充这些孔。 对填充完孔的图像进行运算处理,删除粒子表面的背景、光线引起的细长突出部分和指向外部的齿状边缘。

利用Canny边缘检测处理在上述步骤中处理后的二值图像,得到图像中的各重叠区域的边界。

2.1.2断裂边界的处理

通过Canny边缘检测得到的区域边界点的轮廓经常会断裂,与某个重叠区域的原始图像对应的Canny检测结果如图1所示,检测结果的图像矩阵为f。 从图像矩阵左上角的f (1,1 )开始搜索,一行一行扫描直到找到某个区域的第一个边界点,设该边界点的横坐标为I,纵轴为j。 从此边界点搜索相邻边界点,如果存在满足条件的边界点,则按该区域的边界轮廓点顺序添加当前边界点

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。