APP下载

利用Matlab实现RGB三基色法测量细丝直径

2011-12-09金远伟王娅冰张雅男

大学物理实验 2011年5期
关键词:基色细丝条纹

金远伟,王娅冰,张雅男

(南京信息工程大学,江苏南京 200044)

利用Matlab实现RGB三基色法测量细丝直径

金远伟,王娅冰,张雅男

(南京信息工程大学,江苏南京 200044)

基于衍射原理,实现RGB三基色法测量细丝直径。先通过实验得到细丝衍射图像,然后利用Matlab编写程序及设计界面处理RGB图像,最终计算出细丝直径。测量结果与其他方法相比具有测量精度高、速度快、非接触、使用方便等特点。

衍射图像;细丝直径;RGB

在工业生产和科学实验中,经常碰到尺寸较小的细丝直径的测量问题.细丝直径测量的方法有许多,传统测量方法通常有两种:一种是静态测量,另一种是动态测量。静态测量的解决方案,往往采用传统的精密量具进行,这种方法虽然简单,但在实际应用中具有很大的局限性。

物理实验中可以利用衍射的方法实现单缝宽度和细丝直径测量。这满足了非接触测量的要求。但结果的精确度受到测量人员熟练程度,测量仪器精确度和测量环境等因素的影响。本文提出一种方法,只要将激光直射细丝产生的衍射图像导入处理软件,细丝直径以及相关数据及不确定度等就可以立刻显示在界面上。这种处理图像而得到测量结果的方法不仅精度高(30~150 μm),而且不需人工测量,方便快捷。

1 单缝衍射原理

根据夫琅禾费衍射理论和巴比涅互补原理,当细光束照射在细丝上时,其衍射效应和狭缝一样。即直径为d的细丝产生的衍射图样与宽度为d的狭缝产生的衍射图样相同[1],见图1。产生暗条纹的条件是[2]:

其中,λ为激光光源波长。由于

即只需测出第k个暗条纹的位置xk就可以计算出细丝的直径d。

图1 细丝衍射原理图

2 图像处理——RGB三基色法

2.1 RGB模式

国际照明委员会(CIE)规定700 nm(红色Red),546.1 nm(绿色Green),435.8 nm(蓝色Blue)三个色光为三基色,又称为物理三基色[3](RGB)。RGB模式是基于自然界中3种基色光的混合原理,将红、绿和蓝3种基色按照从0(黑)到255(白色)的亮度值在每个色阶中分配,从而指定其色彩。当不同亮度的基色混合后,便会产生出256×256×256种颜色,约为1670万种。所有的显示器,投影设备以及电视等许多设备都是依赖这种加色模式实现的[4]。

2.2 RGB图像

对一种颜色进行编码的方法统称为“颜色空间”或“色域”。用最简单的话说,世界上任何一种颜色的“颜色空间”都可定义成一个固定的数字或变量。RGB(红、绿、蓝)只是众多颜色空间的一种。采用这种编码方法,每种颜色都可用三个变量来表示为红色绿色以及蓝色的强度。用RGB模式记录及显示的彩色图像称为RGB图像。

2.3 RGB图像的处理

对于一个由m×n个像素构成的彩色图像来说,利用Matlab读取这个图像可以建立相对应的m×n×3的三维数组[5]。在这个数组中,前两维表示像素位于图像中的位置,而第三维定义的是图像中每一个像素的红,绿,蓝颜色强度值。红,绿,蓝这三种颜色的强度都可以用一个0~1之间的数值表示。如某一个像素的三种颜色强度分量为(0,0,0),则该像素显示为黑色;颜色强度分量为(1,1,1)的像素显示为白色。每一个像素的RGB强度分量都存储在数组的第三维元素中。如:像素(10,5)的RGB强度分量分别保存在数组RGB(10,5,1),RGB(10,5,2),RGB(10,5,3)中。将如图2所示的细丝衍射图像进行RGB矩阵化处理,选取颜色强度分量变化最多的一行即为衍射条纹所在行。将该行像素的颜色分量值提取出计算得到该像素的颜色强度M。

其中,R,G,B分别表示合成该像素的三基色强度分量。再将该行每一个像素的列标度和颜色强度组成一个新的二维数组,这一处理过程称作图像的二值化。根据这个新的数组做出衍射条纹光强分布图,见图2。

图2 细丝衍射图像

根据衍射原理可知,相邻的暗条纹中心点相距为λ/d。对照图3,第一个谷值点是第一级暗纹的中心点。它与第二个谷值点的横坐标差值为5,即两者相差5个像素。图2的像素值为96dpi(dpi是指每英寸像素点的个数)。这样就可以计算出相邻的一、二谷值点之间的距离。利用这种方法求出一、二、三级暗条纹中心点的间距,然后取平均值,再代入公式(3)中就可以计算出细丝直径。

图3 衍射光强分布图

2.4 细丝直径各种测量方法的比较

根据以上介绍的RGB图像处理方法可以利用Matlab软件编写相关程序。再利用GUI功能可以实现窗口化。图4显示了经过设计的图形用户界面。只需将衍射图像导入图形窗口,再输入相关数值就可计算出细丝直径。表一中给出三种不同方法测量细丝直径的结果比较。从表中可以看出,传统的测量工具千分尺测量精度最差;大学物理实验中所用的硅光电池读取暗条纹位置的方法精确度较好。RGB方法精确度最高。这种方法不仅可以用来测量细丝直径,也可以测量单缝宽度。RGB方法实现数字化,只需将衍射图片导入程序就可以计算出结果,使实验方便快捷,准确度高。

图4 RGB方法测量细丝直径用户界面

表1 各种方法测量细丝直径结果比较

3 结 论

文章介绍了一种利用Matlab实现RGB图像测量细丝直径的方法。与用千分尺人工测量和大学物理实验中利用硅光电池测量细丝直径相比,该方法简单快捷,精确度高。利用该方法不仅可以掌握单缝或细丝衍射的光学知识,而且也可以学习到RGB图像的相关知识及Matlab软件的应用。这在完成教学任务的基础上又扩大了学生的知识面,对教学起到了良好的辅助作用。

[1] 陈玉林,李传起.大学物理实验[M].北京:科学出版社,2007.

[2] 刘克哲,张承琚.物理学:下卷[M].北京:高等教育出版社,2007.

[3] 黄城,周学平,林旭升.太阳光对液晶显示器件光学特性的影响[J].光谱学与光谱分析,2006,26(1):175-177.

[4] 姜言森,欧阳艳东.LCD三基色光谱特性的研究[J].光谱学与光谱分析,2007,27(12):2494-2497.

[5] 张志涌,杨祖樱.MATLAB教程R2010a[M].北京:北京航空航天大学出版社,2010.

The Measurement of Three Primary Colors RGB Filament Diameter Using Matlab

JIN Yuan-wei,WANG Ya-bing,ZHANG Ya-nan

(Nanjing University of Information Science &Technology,Jiangsu Nanjing 200044)

Based on the theory of diffraction,RGB tricolor method is proposed for measuring fine-wire diameter.The diffraction image of filament is obtained by experiment and the program with interface can manage the RGB image using Matlab.Compared with other methods,the RGB method has the advantages of high-precision,high-speed,non-contact,convenient operation.

diffraction image;fine-wire diameter;RGB

O 436.1

A

1007-2934(2011)05-0082-03

2011-03-16

猜你喜欢

基色细丝条纹
柔性对涡街中细丝运动状态的影响
念 旧
基色与混合色
谁是穷横条纹衣服的人
别急!丢了条纹的斑马(上)
别急!丢了条纹的斑马(下)
猎熊的孩子
猎熊的孩子
细丝微细磨削中的轮廓成形研究
等春天