基于临界灰度值和亚像素的“边缘寻找”算法

基于临界灰度值和亚像素的“边缘寻找”算法

ID:15983201

大小:26.00 KB

页数:4页

时间:2018-08-06

基于临界灰度值和亚像素的“边缘寻找”算法_第1页
基于临界灰度值和亚像素的“边缘寻找”算法_第2页
基于临界灰度值和亚像素的“边缘寻找”算法_第3页
基于临界灰度值和亚像素的“边缘寻找”算法_第4页
资源描述:

《基于临界灰度值和亚像素的“边缘寻找”算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于临界灰度值和亚像素的“边缘寻找”算法基于临界灰度值和亚像素的“边缘寻找”算法基于临界灰度值和亚像素的“边缘寻找”算法基于临界灰度值和亚像素的“边缘寻找”算法本文将围绕一个实例,主要就测量物体长度的算法加以阐述。现在假设我们要在图像中测量物体的长度。如图1所示,虚线内为图像范围,图中背景为白色,被测物呈黑色。图1待测物体情况在相机拍照后,将图像视频信号传至视觉卡,由视觉卡把波状视频信号翻译成数字信号,存到电脑的内存中去。储存信息如图2所示,图像中的虚线格子为像素单元。下面

2、将具体说明基于临界灰度值和亚像素的边缘寻找算法。图2内存中的存储信息1、系统的自学习接下来第一步,我们要先选取一个临界灰度值(threshold,有关这个名词的解释,请参阅主题文章“视觉系统速成”)。大家已经知道,当图像转换成数字信号存到内存中去之后,我们便可以轻易地读取任何像素的灰度值。比如,我们现在从图像中得到行3的全部像素灰度值(如图3所示)。为了方便,这里假定此系统的灰度值分辨率是256级,0为最黑,255为最白。图3图像中第三行的像素灰度值情况[/center]从

3、图中,我们可以看出被测体的范围(X轴方向)是从列D至列H。在行3的灰度值中,从列D到列H的灰度值分别为:50,40,40,35,80。由此可知,被测物体在成像中灰度值最高(即颜色最白)的像素的灰度值是像素(3,H)的灰度值,即80。那么我们便可以认为,系统的临界灰度值就是80,当然在实际测量中为留一定余地,我们不妨设为100。当然,若成像中被测物为白色,则应当选颜色最黑的地方的像素值为临界灰度值(有关临界灰度值设定的具体方法,以后另题讨论)。设定临界灰度值后,系统便完成了测量的第一步:自学习。假如

4、此时已经完成了系统的标定工作(包括相机标定、系统标定),那么现在就可以正式开始测量了。2、测量中的临界灰度值算法我们把一个待测的被测物放到相机下拍照。在内存中所得图像如图4所示。这里图4与图2略有不同。这只是为了说明在实际操作中,每次拍照所得到的图像,必定是有所不同的。图4得到图像后,我们便可以让软件对图像进行分析。仍是以行3为例,假设系统是从行3开始进行逐点扫描的。扫描的过程如下:先读取像素(3,A)的灰度值来与刚才所设定的临界灰度值作比较。如果像素(3,A)大过临界灰度值,也就是说像素(3,A

5、)的颜色比临界灰度值白。那么这个像素就不是被测物上的一个点。然后就继续进行下一步的运算,读取像素(3,B)的灰度值重复上述运算,如此循环直至图像尽头列L。基本程序可描述如下:for(I=AI<=LI++){if(pixel[3,I]<=100){flag=TRUEbreak}}程序中的100就是刚才系统所设定的临界灰度值。Flag是一个标志,当系统找到被测物的第一个边缘时,flag=TRUE,于是系统便开始寻找第二个边缘。在本例中,第一个边缘是由白到黑,第二个边缘是由黑到白。假设在新的

6、图像中,行3的灰度值如图5如示。那么系统扫描到像素(3,D)时,程序便会中断,flag=TRUE,并开始寻找第二个由黑到白的边缘。图5新的图像灰度值情况第二次寻找基本程序如下:for(J=IJ<=LJ++){if(pixel[3,J]>=100){flag=FALSEbreak}}按图5所示,第二边缘的寻找,进行到像素(3,H)时,便自动停止。现在我们根据程序运行中第一个变量I所记录的数值,知道第一个边缘为D。由变量J知道第二个边缘是H-1=G。由此,可以知道整个被测物X轴方向的大小=

7、G-D=4个像素。4×像素值(由系统标定得到),我们就最终得到被测物体的左右长度了。但事情并没有这么简单,现在真正的问题出现了。实际上,不难发现在图4中,被测物实际上从列C开始的。只不过在列C中,被测物只有一部分,而另一部分是白色的背景。下面,我们就要设计新的算法,即“亚像素算法”来计算这种“一半一半”的部分。3、亚像素算法亚像素算法的基本思路就是将一个像素再分为更小的单位。在我们上面的讨论中,一直以8bit的系统作例子,也就是说1个像素

8、的灰度值分为256级。所以,以这类系统为例,进行亚像素计算就要把像素分为255个小单位。或许,可以这样来理解“亚像素算法”。一个像素的灰度值从0到255,0是纯黑,255是纯白。不妨把像素想像成是一个由255个小像素所组成的集合。而每个小像素都是一个独立的小镜子,那就是说一个像素里面有255个小镜子。灰度值则可以看作反光的小镜子数量:0表示255个小镜子全都没有反光;255表示255个镜子一起反光。上面讲到的所设定的临界灰度值100,则可表示255个镜子中有

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。