干涉图像的数字化处理算法研究(干涉图生成)
moboyou 2025-05-08 13:27 19 浏览
摘 要: 用Zygo干涉仪采集到的干涉条纹图像经过图像增强、图像二值化、图像细化、图像骨架修复、条纹级次标定、数据采集等处理,可以得到在干涉检测中用于波面分析的数据集,围绕一幅用于判定光学平面面形的干涉图的处理过程进行了研究。
0 引言
光学测量中,干涉测量仍然是一种常用的重要方法。干涉测量是通过对干涉图像的判读来评定光学试样的质量的。而干涉测量的结果是一幅干涉条纹图,可以实时观测,也可以存储成为干涉图。对干涉图的判读,传统做法是按照美国材料与试验协会(American Society for Testing and Materials,ASTM)的标准,人工利用一把尺子和一支铅笔测量[1],这种方法虽然简单,但已经不能满足精确测量的需要。利用数字化图像处理技术,借助于图像处理软件MATLAB,按照设计的算法对采集到的干涉图像进行图像增强、二值化、图像细化、骨架修复、采样等过程的处理,目的就是为分析处理而复原出波面数据。
1 干涉图像采集
使用美国Zygo公司制造的激光波面干涉仪(型号:VeriFire PE)作为实验仪器。将被测件的被测表面清洁后,放在标准平面下的承物台上。通过调节承物台方位使两表面反射光斑像重合,通过CCD可以采集到等厚干涉条纹。利用Zygo干涉仪采集到的干涉条纹如图1所示。
2 干涉条纹的数字图像处理过程
结合干涉图像的特点以及干涉条纹判读要求,其中心思想就是确定每一条干涉条纹的中心位置极其对应的干涉级次,提取干涉图上每一条干涉条纹的具体信息,因此干涉图像的处理主要步骤包括:干涉图像的预处理、干涉图像的二值化、干涉条纹细化、骨架修复、干涉级次标定、数据采样等[2]。处理流程图如图2所示。
3 处理算法及实现
3.1 干涉图像预处理
在采集干涉图的过程中,由于仪器本身或外界影响,如振动及空气流动等,不可避免地将噪声引入正规信号中。干涉图像预处理就是改善图像中所承载的信息,清除图像中无关信息,去除噪声,恢复有用信息,抑制不需要的变形或增强后续处理重要的图像特征。其目的是得到一幅没有干扰的清晰图像。图像预处理一般包括图像增强、图像平滑和图像锐化等[3]。
3.1.1 图像增强
针对灰度图像,图像增强是指提高图像的亮暗对比度,由此加大亮暗差异的目标特征[4]。图像增强的方法很多,下面仅以直方图规定化算法为例展开。直方图规定化算法主要有3个步骤:
(1)对原始图像进行直方图均衡化:tk=T(sk)=ps(si),k=0,1,2,…,M-1(M为原始图像的灰度级数)。
(2)对规定图像进行直方图均衡化:ul=Tu(uj)=pu(uj),l=0,1,2,…,N-1(N为规定图像的灰度级数)。
(3)将步骤(1)和步骤(2)的直方图进行映射,即将所有的ps(si)与pu(uj)之间形成一对一映射。处理的结果如图3所示。
3.1.2 抑制噪声
由于噪声的随机性与图像信号在时间和空间上的相关性,噪声对像点的影响将使其灰度与邻点显著不同,或帧间对应点灰度显著不同。图像抑制噪声也称图像滤波,实现方法就是按照这个原理设计的。图像滤波抑制噪声的算法有很多种,典型的算法有空域中的平滑滤波和锐化滤波,频域中的低通滤波、高通滤波和同态滤波等。选择中值滤波算法处理经增强后的图像,中值滤波是一种非线性平滑滤波,其具体步骤如下:
(1)设定一个有奇数点的中值滤波窗口模板,并将模板中心与干涉图中的某个像素点重合。
(2)读取模板下各对应像素的灰度值,并将这些灰度值升序排列。
(3)找出其中排在中间的1个像素值,将该值赋值给对应模板中心位置的像素。
选用5×5邻域模板,处理结果如图4所示。
3.2干涉图像二值化
对经过滤波等预处理之后的干涉灰度图进行灰度压缩,将干涉条纹转换为只有黑白两种灰度值,也就是所谓的“二值图像”。可以采用阈值分割的方法对干涉图像进行二值化,设原始图像f(x,y)为像素在(x,y)处的灰度值,T为二值化阈值,将图像按照阈值进行分割得到的二值化图像为g(x,y)[5],二者之间的关系满足:
按照上面的方法,处理结果如图5所示。
3.3干涉图像细化
要分析干涉条纹,最主要的就是要找出干涉条纹的中心线,即干涉条纹的骨架。使经过二值化的黑白条纹变细,得到只占一个像素位置的条文线点集,从而提取出条纹中心位置信息[6]。
设p0为待细化的二值化图像的像素点,该像素点的8邻域各点排列如图6所示。用n(p0)表示8邻域内非0像素的个数,s(p0)表示以p1、p2、p3、p4、p5、p6、p7、p8、p1为顺序的序列中,像素从0变到1的次数。
具体算法主要是判断满足以下4个条件的黑点删除。
(1)2≤n(p0)≤6;
(2)s(p0)=1;
(3)p1&&p3&&p7=0或s(p1)≠1;
(4)p1&&p3&&p5=0或s(p3)≠1;
重复判断图像中每个点,直到所有点都不可删除为止。处理的结果如图7所示。
3.4干涉图像骨架修复
经过细化的条纹之间可能出现间断区域或者分叉点情况,在进行条纹级次标定之前必须将这些异常情况去除掉。具体算法如下:
(1)判断端点和分叉点。
(2)从端点出发,跟踪骨架像素点的权值并累加。
(3)设置分支重要性权值W,如果跟踪到一分支点,判断分支的重要性权值,如果小于W,则为毛刺,应去除;否则为一般分支,应保留。
(4)重复步骤(3),扫描整个干涉细化图像[7]。
骨架修复结果如图8所示。
3.5 干涉级次标定
条纹干涉级次的确定是处理干涉图像的重要步骤之一,也是干涉图像处理区别于其他类型图像的最大不同点。对细化的条纹进行跟踪,对每根条纹标记上级次(相对级次p=1,2,3…),以便在后续的处理中计算机能够分辨出不同级次的条纹[8]。算法如下:
(1)在垂直条纹方向画一条能贯穿所有条纹的直线l;
(2)依次标定直线与条纹的每个交点;
(3)在骨架线的端点处标记出交点对应的级次p,p值为1,2,3…。
其处理的结果如图9所示。
3.6 数据采样
干涉图经细化和级次标定后,最重要的工作就是对它进行数据采集。采样点的设置算法如下:
(1)在垂直条纹的方向上以一定的间距设置采样线贯穿整个干涉图像区域;
(2)提取采样线与细化条纹相交处的坐标位置(x,y)和该条纹的级次信息(x,y,p);
(3)重复执行步骤(2),可以采集整幅图像的数据集合:(xi1,yi1,pi),(xi2,yi2,pi),…,(xin,yin,pi),其中pi为第i条干涉条纹的级次,(xin,yin)为该条纹上第n个点的坐标。
图像采样结果如图10所示。
4 结论
采样结束即完成了对数字化干涉图的图像处理过程,并且获得了一个离散的、采样点随机分布的波面数据集合(x,y,p)。综合上面的算法设计与实现,利用数字图像处理技术可以很好地处理干涉图像,而且数字图像的各阶段的算法种类很多,结合干涉图像的特点,需要选用合适的算法才能达到预期的效果。这种基于数字图像处理技术的应用,为后续波面拟合奠定了基础。
参考文献
[1] 刘中本.光电测试技术[M].西安:陕西人民出版社,2002.
[2] 兰明强.基于波面拟合法面形偏差检测技术研究[D].福州:福建师范大学,2013.
[3] 孙燮华.数字图像处理原理与算法[M].北京:机械工业出版社,2012.
[4] 姚敏.数字图像处理[M].北京:机械工业出版社,2008.
[5] 王新强,张丽娟,班宝龙,等.基于滤波图像相减二值化的干涉条纹骨架线提取的研究[J].激光杂志,2012,33(6):28-29.
[6] 冉铮惠,陈长龄,罗克莲,等.数字图像处理在平面等倾干涉测量中的应用[J].仪器仪表学报,2003,24(4):57-61.
[7] 李艳华.光干涉图像的滤波和骨架化算法研究[D].哈尔滨:哈尔滨工业大学,2011.
[8] 林敏,黄建军.干涉图像数字化处理技术[J].深圳大学学报(理工版),1999,16(1):24-27.
相关推荐
- 【开源推荐】给大家推荐个基于ChatGPT的PHP开发库 openai-php-api
-
有了这个库大家就可以愉快的使用PHP对接chatGPT的官方接口了,至于对接了官方接口想要做什么就看你自己的啦环境要求PHP7.4或以上composer1.6.5以上支持框架Laravel、Sym...
- PHP使用Phar打包控制台程序
-
1.介绍1.1介绍php脚本有着非常强大的库支持,可以轻松做出特别强大的程序。php不仅仅可以搭建各种各样的网站系统、平台系统,还可以开发基于控制台运行的程序。不过使用php开发的控制台程序在使用...
- PHP实现URL编码、Base64编码、MD5编码的方法
-
1.介绍1.1介绍今天开始福哥要给大家讲解关于字符编码的知识,所谓字符编码就是将一个字符串或者是一个二进制字节数组里面的每一个字符根据一定的规则替换成一个或者多个其他字符的过程。字符编码的意义有很...
- 雷卯针对易百纳海思Hi3521D开发板防雷防静电方案
-
一、应用场景1、医疗电子2、安防监控3、数字标牌4、视频广告5、环境监测二、功能概述1CPU:ARMCortexA7双核@Max.1.3GHz2H.265/H.264&JPEG多码流编...
- 不折腾无人生-安卓盒子安装Linux系统armbian纪实
-
不折腾无人生-安卓盒子安装Linux系统armbian纪实小编的x96max+(晶晨Amlogics905x3)安卓盒子已安装二个系统,原装安卓9.0和tf卡上的CoreELEC9.2.3,可玩性...
- 全网最简单的玩客云刷casaos方法及后续使用心得
-
本内容来源于@什么值得买APP,观点仅代表作者本人|作者:不鸣de前几天在站内看见很多值友分享了玩客云刷casaos,被简洁的操作界面种草,于是我将之前刷了powersee大神网页导航版armbia...
- 最新评测:英特尔旗舰 Alder Lake 处理器击败苹果M1 Max
-
据国外媒体tomshardware报道,英特尔最新的酷睿i9-12900HK处理器刚刚赢得了移动x86与Arm的性能大战,但这是有代价的。这款移动14核AlderLake芯片在多个工作负...
- 创维酷开Max系列电视开启ADB并安装第三方应用教程
-
前言创维酷开系列智能电视采用的是相对封闭的系统,虽然设置中提供了安装未知应用的选项,但由于电视安装位置的限制,往往难以直接使用USB接口安装应用。本文将详细介绍如何通过ADB方式在创维酷开Max系列电...
- 苹果 Mac Studio,再次刷新我们对个人电脑的认知
-
由两块M1Max组成的M1Ultra,成为了M1系列的最后一块拼图,并完成了整个M1SoC宇宙。这就好像《复仇者联盟4:终局之战》对于漫威第一阶段,十几年勤恳的布局,最终达到顶峰...
- 「必买」盘点2021年男人们的败家清单,越“败”越香
-
心里总想买点啥?看看《必买》,全网最有料的场景种草指南。草原割不尽,春风吹又生。在过去的2021年,不断被各种数码产品种草,一直在买买买,剁手不停。大部分产品都经过详细的对比做足了功课,也有部分是一时...
- Opus音频编解码在arm上的移植
-
一、简介现在有个需求,在局域网内实现实时语音,传输层协议使用UDP协议,如果直接使用ALSA进行录制音频流并发送到另一端进行播放,音质会非常差,而且断断续续,原因如下:采样频率:fm=44.1K...
- N ARM MINI空气减震系统臂体安装指南及应用说明
-
距离MOVMAX移动大师NARMMINI发布已经过去一段时间了,不少收到NARMMINI的小伙伴也已经迅速将产品投入到自己的车拍工作中去了。而在实际工作过程中我们也收到了用户的部分疑问和反馈:...
- 搜索引擎中的性能怪兽,Elasticsearch挑战者之Manticore Search
-
ManticoreSearch简介ManticoreSearch是一个使用C++开发的高性能搜索引擎,创建于2017年,其前身是SphinxSearch。ManticoreSe...
- 10个运维拿来就用的 Shell 脚本,用了才知道有多爽
-
1、监控MySQL主从同步状态是否异常脚本#!/bin/bashHOST=localhostUSER=rootPASSWD=123.comIO_SQL_STATUS=$(mysql-h$...
- PHP7.0.0正式版开放下载:速度大提升
-
IT之家讯PHP发布经理AnatolBelski在GitHub发布了PHP7.0.0正式版,该版本在速度提升上面有非常大的进步,比5.6版本提速两倍,已经接近Facebook开发的PHP执行引擎...
- 一周热门
- 最近发表
- 标签列表
-
- curseforge官网网址 (16)
- 外键约束 oracle (36)
- oracle的row number (32)
- 唯一索引 oracle (34)
- oracle in 表变量 (28)
- oracle导出dmp导出 (28)
- oracle两个表 (20)
- oracle 数据库 字符集 (20)
- oracle安装补丁 (19)
- matlab化简多项式 (20)
- 多线程的创建方式 (29)
- 多线程 python (30)
- java多线程并发处理 (32)
- 宏程序代码一览表 (35)
- c++需要学多久 (25)
- c语言编程小知识大全 (17)
- css class选择器用法 (25)
- css样式引入 (30)
- html5和css3新特性 (19)
- css教程文字移动 (33)
- php简单源码 (36)
- php个人中心源码 (25)
- 网站管理平台php源码 (19)
- php小说爬取源码 (23)
- github好玩的php项目 (18)