摘要本文介绍两种提取Fabry-Perot干涉条纹圆心点坐标的新方法。首先对干涉图像依次进行二值化处理,对所得到的条纹强度曲线进行均平滤波和自适应滤波,根据条纹灰度值强度余弦函数分布的特点,对条纹灰度值数据进行最小二乘法拟合,获得条纹强度峰值坐标,然后通过本文介绍的算法,进而获得Fabry-Perot干涉条纹圆心点的坐标。

【关键词】Fabry-Perot干涉条纹数字图像处理 最小二乘法

1 引言

在现代光学检测中经常要对干涉条纹图进行分析和研究。由于所使用的干涉测量原理、装置和对象的不同,条纹图像的差异很大,这给精确判定干涉条纹中心位置和级次带来很大困难,而且会严重影响测量精度。通过参考已有文献:“一种基于曲线拟合提取干涉条纹中心点的新方法” 和“一种确定干涉条纹中心的新方法” ,本文提出了一种迭代算法和一种均分干涉圆算法获取Fabry-Perot干涉条纹的圆心坐标,并将两种方法结果进行比较。实验结果表明,迭代算法具有高精度和运算速度快的特点。

2 基本原理

2.1 Fabry-Perot干涉仪成像原理

法布里-帕罗多光束干涉仪是由平行放置的两块平面板组成的,在两板相对的平面上镀薄银膜或其它有较高反射系数的薄膜,要求镀膜面的平面度优于λ/20,而为消除两平板相背的平面上的反射光的干涉与我们所研究的干涉的重叠,故每块板都不是平行平面板,板的两面成一很小的夹角。

图1示出了Fabry-Perot干涉仪的工作原理,S为一扩展光源,L为准直透镜,G1和G2是两块平行平面板(板的两面有一很小的夹角),在两板相对的平面上镀有高反射率的薄银膜,G1和G2构成法-帕(F-P)腔,L1为聚焦透镜。S 上任一点发出的光线在腔内形成多次反射情况,结果构成多个平行的透射光,如图1所示。

在透射的诸光束中,相邻光束的光程差均为: 式中n为折射率,d为两块平行平面板间隔,i为入射光与板平面法线的夹角,由∆引起的位相差δ则为:∆=2ndcosi。

当光程差为波长的整数倍时,则透射光线的叠加形成干涉极大。由于两反射面是平行的,且S是扩展面光源,所以产生等倾干涉,即所有相同光程差且满足:mλ=2ndcosi 的入射光线在垂直于观察方向的平面上的轨迹是一组同心圆,因而在透镜L1焦面上得到的是一组同心环形条纹的图样(如图1中F’干涉环)。

2.2 确定干涉条纹圆心

确定干涉条纹圆心所使用的原理为Fabry-Perot干涉仪成像原理,以上已经讲过,在此不做多余阐述,使用的图像与数据处理软件为matlab7.0,在对图像进行预处理后,方可用一下方法确定圆心:

2.2.1 方法1

首先在干涉图上大体确定中心圆的坐标范围,然后在范围内引一条水平直线x=xi,与干涉条纹最内环的2个交点附近的强度峰值位置坐标为B11,B12,然后计算圆心的纵坐标为:。接着依次引水平直线 x=xi+nC(n=1,2,3……,C为一常量,受n的取值影响。本次实验中取n=10,计算后得C=30,即将圆的水平范围平均分成10份,n取的越大,实验结果越精确),用上述方法可求得n组圆心的纵坐标,求和并取平均值得。用同样的方法即可求得圆心横坐标,多次计算求平均,即可得到圆心坐标()即为干涉条纹圆心点坐标。

2.2.2 方法2

由于入射光来自空中同一区域,原则上Fabry-Perot干涉条纹是一系列同心圆(如图2),其中心位置的又一确定方法如下:首先同样对Fabry-Perot干涉图像进行二值化处理,对所得到的条纹强度曲线进行均平滤波和自适应滤波,在干涉图上选择一个近似的中心点,用一条过该点的水平直线将图像分为两半。对直线与干涉条纹交点附近的光强分布进行余弦函数拟合得到各个峰值的横坐标,通过非线性最小二乘法:

A,B,C和D的数值可以由拟合得到。假设水平直线与干涉条纹(最内环)的2个交点附近的强度峰值位置坐标为A11,A12,则一次迭代后圆心的横坐标为: 。再过横坐标Cx做一条垂直线,由上面相同的方法,我们可以得垂直直线与干涉条纹(最内环)的2个交点附近的强度峰值位置坐标为B11,B12,则可以的到圆心纵坐标为: 。再过纵坐标 Cy做一水平直线,用同样的方式重新确定Cx,重复这个过程,直至每相邻两次Cx,Cy的变化在设置的条件范围内,迭代可结束,(Cx,Cy)即为干涉条纹圆心点坐标。

3 实验与数据处理结果

对于方法1:

如图3为取x=430时的在X方向的条纹强度分布,可看到波峰最大的两个值所对应的坐标即可看做水平直线与灰度二维图最中间圆的两个交点,取交点的平均值即为该水平直线下的圆心纵坐标。实验数据最终如表1、2所示。

如表1、2,表格左边第一列为选择的行数(或列数),其中最大值和最小值构成的区间代表圆的行(或列)落在此范围内,数值间隔和个数又C和n确定(参见方法1),第二列和第三列代表该行(或列)下直线与最内圆的交点坐标,两坐标值的平均值即为改行(或列)下的圆心纵坐标值(或横坐标值)。最后两张表格分别求出的圆心横纵坐标值即为最终的圆心坐标值。读表得最终圆心坐标为(581.75,558,40)。

表3为迭代法求圆心的数据表格,表中第二列代表选择的行数或者列数,数字前面的字母代表是代表行或者是列(H为行,L为列);第一次的数随机选择,即H499的意思为第一次选择第499行进行计算,与最中心圆心的两个交点为(418.027447,697.9973449),求平均得圆心纵坐标558.0123959,计算的结果保留小数。然后第二次计算的时候使用第一次计算的结果,即用558的纵坐标来求横坐标的值,这样下去反复迭代,直到结果符合要求。

在此需要申明的是,迭代计算的结果保留小数位,但是由于matlab软件计算迭代时选择的行数和列数均要整形,故进行二次迭代时均要保留整数,当结果与之前的结果重复时,采取取最近为整数的方法计算,直到结果误差小于规定误差为止。本次计算我们一开始设置迭代结束条件为每次Cx和Cy的变化小于0.1pixel,表中可以看出当第三次迭代后的误差均小于0.1pixel,可以视为相同值,即迭代结束,得最后圆心坐标为(580.24,556.93)。

4 结论

本文提出“两种提取Fabry-Perot干涉条纹圆心的新方法”,首先都是对干涉图像进行二值化预处理,通过对观测图像分析处理, 用余弦函数拟合迭代法和以均分干涉圆求圆心的方法确定干涉条纹圆心的精确位置。两种方法都存在误差,但都比较小,此次实验中的圆心的标准值为(580.73,557.5),计算得均分干涉法的误差为(1.02,0.90),而余弦函数拟合迭代法的误差为(0.49,0.57)。可见余弦函数拟合迭代法的误差较小,且整个运算过程时间上相比均分干涉圆的方法更短。

参考文献

[1]蔡怀宇,于毅,黄战华,司骞,于文铮. 一种基于曲线拟合提取干涉条纹中心点的新方法[J].光电子•激光,2006(1).

[3]田爱玲,李力,孙钊.一种确定干涉条纹中心的新方法[J].应用光学,2002(2).

[4]M.Born and E.Wolf,Principles of Optics.Electromagnetic Theory of Propagation,Interference Diffraction of Light.Vol.1,pp.353-366.

[5]王剑,张书毕,史先领,范洪东.MATLAB工具箱在测绘数据处理中的应用[J].四川测绘,2006(1).

作者单位

中国计量学院光学与电子科技学院浙江省杭州市310018

计算机提取干涉条纹原理,两种提取Fabry-Perot干涉条纹圆心的新方法相关推荐

  1. NLP:基于nltk和jieba库对文本实现提取文本摘要(两种方法实现:top_n_summary和mean_scored_summary)

    NLP:基于nltk和jieba库对文本实现提取文本摘要(两种方法实现:top_n_summary和mean_scored_summary) 目录 输出结果 设计思路 核心代码 输出结果 1.测试文本 ...

  2. 两种土壤细菌群落结构高通量绝对定量方法

    本文转载自"微生物生态",己获授权 1. 研究背景 在宏观生态学研究中,物种的种类.物种绝对含量和物种相对丰度是描述群落结构的三个必备指标.聚焦土壤微生物生态研究,高通量测序分析技 ...

  3. iphone已停用怎么解锁_两种无密码解锁iPhone锁屏密码的方法

    现在很多手机都配备指纹解锁功能,大家平时用惯了指纹解锁,有时候在需要输入锁屏密码的时候反倒记不清密码是什么了.像是手机重启后就需要输入密码解锁,iPhone锁屏密码忘了怎么办? 多次输入错误密码还可能 ...

  4. python列表去重函数_对python中两种列表元素去重函数性能的比较方法

    测试函数: 第一种:list的set函数 第二种:{}.fromkeys().keys() 测试代码: #!/usr/bin/python #-*- coding:utf-8 -*- import t ...

  5. 两种在QGIS中打开CAD文件的方法

    概述 经常使用ArcGIS.Global Mapper和水经微图打开CAD文件,一般都是直接拖进去或者点一下类似打开的按钮就可以打开CAD文件,但是当直接把CAD文件拖入到QGIS的时候会报错,所以查 ...

  6. 一种优于“分区魔术师”的无损分区新方法

    一种优于" 分区 魔术师"的无损分区新方法 LINUX每日一 技之001 一.本文目的     今天是国庆节,LINUX国家战略博客的"LINUX每日一技"如期 ...

  7. Facebook AI 发布“HuBERT”:一种学习自我监督语音表示的新方法

    许多人工智能研究项目一直在努力提高他们仅仅通过倾听和与他人互动来检测和解释语音的能力,就像婴儿学习他们的第一语言一样.这不仅需要评估某人所说的话,还需要从这些话的表达方式中获得各种其他线索,例如说话人 ...

  8. 提取图像细节的两种方法

    一幅图像可以分解为两层:底层(base layer)和细节层(detail layer).底层包含图像的低频信息,反映了图像在大尺度上的强度变化:细节层包含图像的高频信息,反映了图像在小尺度上的细节. ...

  9. 计算机图案填充的两种方法,计算机图形学课件 第9讲 区域填充和字符处理.ppt...

    计算机图形学课件 第9讲 区域填充和字符处理 信息科学与工程学院 1999年7月 5.4.1 多边形的扫描转换 多边形的两种表示方法: 顶点表示:用多边形的顶点序列来刻划多边形.直观.几何意义强.占内 ...

最新文章

  1. 发微信模版消息换行用\n
  2. 连续2年入不敷出,青云流血冲刺科创板:拟募资11.88亿,最近三年净亏4.37亿
  3. python java
  4. iOS一些推荐的学习路径发展
  5. 【Boost】boost库asio详解4——deadline_timer使用说明
  6. mysql分区列要包含主键吗_MYSQL的分区字段,必须包含在主键字段内
  7. CentOS 7 搭建 LAMP
  8. Jmeter笔记(Ⅱ)使用Jmeter实现轻量级的接口自动化测试
  9. 才26岁!94年小姐姐,已任985名校副教授!
  10. 消费和部署ASP.NET WebApi服务–陷阱
  11. C++的STL标准库学习(deque)双向队列
  12. 双层卷积神经网络--tf
  13. CSS按钮动画(三)
  14. 临近失业,如何拯救自己?
  15. 基于simulink的16QAM仿真模型
  16. kmeans聚类算法python实现_Python实现Kmeans聚类算法
  17. 数据库系统——数据模型基本概念详解
  18. 根据客户的PDF模板,写入签名图和文本,生成新的PDF图片和JPG图片。
  19. Kaggle 入门 Crime
  20. MySQL 报错InnoDB: Cannot allocate memory for the buffer poo处理方法

热门文章

  1. (附源码)ssm经济信息门户网站 毕业设计 141634
  2. 简易云台制作记录(内含MPU6050角度的求法)
  3. 人工智能:一种现代方法学习笔记(第六章)——约束满足问题
  4. 用python 记账小程序_python 实例8 日常记账本小程序
  5. 基于Dotnetty和Protobuf的Unity客户端开发(一)
  6. ubuntu网络连接问题(网络图标不见了,ifconfig不显示ip....)
  7. 利用ArcGIS做一张三调土地利用现状图
  8. Mac休眠之后唤醒时无法使用鼠标
  9. 制作视频弹幕:DanmakuFlameMaster
  10. 良匠-手把手教你写NFT抢购软(五)