[发明专利]基于C++语言平台的干涉条纹检测方法在审
申请号: | 201811250225.7 | 申请日: | 2018-10-25 |
公开(公告)号: | CN109300132A | 公开(公告)日: | 2019-02-01 |
发明(设计)人: | 梅启升;王敏;梁秀玲;周群 | 申请(专利权)人: | 福建师范大学 |
主分类号: | G06T7/00 | 分类号: | G06T7/00;G06T7/11;G06T5/40;G06T5/30;G06T5/00 |
代理公司: | 福州元创专利商标代理有限公司 35100 | 代理人: | 蔡学俊 |
地址: | 350117 福建省福州市闽侯县*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 干涉条纹图像 干涉条纹 骨架图像 检测 骨架提取 语言平台 标定 对比度增强技术 读取 二值化处理 低对比度 断点连接 空洞填充 算法结合 颜色区别 二值化 库函数 去毛刺 自适应 条纹 算法 可读性 填充 噪声 | ||
1.一种基于C++语言平台的干涉条纹检测方法,其特征在于,包括以下步骤:
步骤S1:采用OpenCV库函数读取待检测的干涉条纹图像;
步骤S2:通过对比度增强技术提升待检测的干涉条纹图像可读性,得到处理后的干涉条纹图像;
步骤S3:对处理后的干涉条纹图像进行自适应二值化处理,将条纹进行区域划分,得到二值化干涉条纹图像;
步骤S4:对得到的二值化干涉条纹图像进行空洞填充处理,得到填充后的干涉条纹图像;
步骤S5:通过Zhang氏骨架提取算法和Rosen骨架提取算法结合,将填充的干涉条纹图像转换为干涉条纹骨架图像;
步骤S6:基于干涉条纹骨架图像的特点分别进行去毛刺处理与断点连接处理,得到干净的干涉条纹骨架图像;
步骤S7:将干净的干涉条纹骨架图像重新进行级次标定,并加以颜色区别,完成对干涉条纹图像的检测。
2.根据权利要求1所述的基于C++语言平台的干涉条纹检测方法,其特征在于:所述步骤S1采用CV::imread函数读取待检测的干涉条纹图像。
3.根据权利要求1所述的基于C++语言平台的干涉条纹检测方法,其特征在于:所述对比度增强技术具体为:
根据EqualizeHist函数处理将图像进行直方图均衡化,提高干涉条纹图像的对比度,直方图均衡化的基础如下:
其中Ps(s)表示随机变量s的概率密度函数,;Pr(r)表示随机变量r的概率密度函数;采用r和s采用的准则为:
式中G为图像的灰度值分布,如8位图像分布对应的G为256,ri为原图像概率分布密度,表示对X进行向下取整,通过(3)式求出的值就是新的Ps(s)概率密度分。
4.根据权利要求1所述的基于C++语言平台的干涉条纹检测方法,其特征在于:所述空洞填充处理采用阈值孔洞填充算法。
5.根据权利要求1所述的基于C++语言平台的干涉条纹检测方法,其特征在于:所述步骤S6具体为:
步骤S61:将填充后的干涉条纹图像简化为局部毛刺图进行分析;
步骤S62:根据毛刺的特性,采用C++程序寻找毛刺与骨架的连接点、毛刺边缘点,及找到毛刺的坐标,并用8领域寻点法从毛刺边缘点开始遍历到连接点为止,将所有点保存到Vector类的Point数组当中,并将这些点的灰度值置为1,去除毛刺;
步骤S63:通过去毛刺处理后,将所有断点进行选定,通过匹配算法进行断点两两连接。
6.根据权利要求1所述的基于C++语言平台的干涉条纹检测方法,其特征在于:所述步骤S7具体为:
步骤S71:将干净的干涉条纹骨架图像的边界点作为特征点,利用OpenCV库与C++语言相结合,编写BwLabel函数,用于对干涉条纹骨架简单的从左至右的进行排序;
步骤S72:通过BwLabel函数处理的结果,对干涉条纹的级次标定。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建师范大学,未经福建师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811250225.7/1.html,转载请声明来源钻瓜专利网。