<?xml version="1.0" encoding="gbk"?> <rss version="2.0"><channel> <title>定阅帖子更新</title> <link>http://www.broadkey.com.cn/XML.ASP</link><description>TEAM Board - 科伟奇电子</description> <copyright>TEAM 2.0.5 Release</copyright><generator>TEAM Board by TEAM5.Cn Studio</generator> <ttl>30</ttl><item><link>http://www.broadkey.com.cn/Thread.asp?tid=188 </link><title>基于TMS320DM642的快速Hough变换圆检测算法的实现</title><author>kavin</author><pubDate>2009/12/1 10:32:40</pubDate><description><![CDATA[<strong>1 引言</strong>
<p>　　数字图像处理技术广泛应用于机器视觉、自动化检测和视频监控等领域。通用的图像处理系统采用图像采集卡将图像传送至PC，从而实现图像处理的各种算法。近年来，随着集成电路和嵌入式技术的发展，特别是DSP集成度、稳定性、运算速度、数据吞吐量等性能的不断提高，以DSP为核心的实时图像处理系统得到开发。采用DSP实现快速数字图像处理可将算法嵌入到DSP中，充分利用DSP的高速性和并行性，提高系统的运行速度，达到数字图像处理的实时性。相对于基于PC机的通用图像处理系统，基于DSP的图像处理系统具有体积小，功耗低等优点，适用于嵌入式系统领域。</p>
<p>　　在图像处理中检测圆通常需要计算圆形度，半径，圆心位置等圆参数。Hough变换是目前应用最广泛的<a style="color: blue; font-weight: normal; text-decoration: none" href="/news/listbylabel/label/圆检测">圆检测</a>方法，该方法可靠性高，在噪声、变形、甚至部分区域丢失的状态下仍然能取得理想效果。但其缺点是计算复杂，内存需求大。算法的实时性很差，不能满足实时性的要求。</p>
<p>　　根据某项工程的实际要求，对标准Hough变换检测圆算法进行改进，并在<a style="color: blue; font-weight: normal; text-decoration: none" href="/news/listbylabel/label/TMS320DM642">TMS320DM642</a>平台上实现，取得较好的检测效果，并达到实时性要求。</p>
<p>　<strong>　2 算法运行平台</strong></p>
<p>　　算法运行平台采用北京合众达公司的SEED-DTK-VPM642多媒体实验平台，该平台采用TI公司的TMS320DM642作为核心处理器。TMS320DM642是专用于数字媒体应用的高性能32位定点DSP，工作主频最高达720 MHz，处理性能可达5 760 MI／s，强大的图像处理能力为实现算法实时性和可靠性提供保证。该实验平台的整体功能框图如图1所示。前端通过CCD摄像机获得视频图像，经视频解码器TVP5150的数字化处理后，形成并行数字码流以EDMA传输方式将数据传送到TMS320DM642的数据输入缓冲区，对图像进行实时处理后的数据自动通过EDMA传输至数据输出缓冲区，再通过视频编码器SAA7121形成码流，传送到显示器显示检测结果。在整个算法的实现过程中，为了满足实时性的要求，都是以EDMA的传输方式传输数据。</p>
<p align="center"><img alt="" src="http://editerupload.eaw.com.cn/200907/7dcf564f3da3ef9ee1754cde82f24c7d.jpg" width="454" height="315" /></p>
<p>　　<strong>3 Hongh变换圆检测算法的实现</strong></p>
<p><strong>　　3．1 Hough变换圆检测算法的改进</strong></p>
<p>　　Hough变换的基本思想是将图像从空间域变换到参数空间，用大多数边界点满足的某种参数形式来描述图像中的曲线。假设在x-y平面检测并确定一个圆的参数，图像中待检测圆周点的集合为{(xi，yi)，i=1，2，3，&hellip;，n}，(x，y)为该集合中的一点，其在参数坐标系(a，b，r)中解析式为：</p>
<p align="center"><img alt="" src="http://editerupload.eaw.com.cn/200907/6e5ad2e5910ea50677b6a2055ba3115c.jpg" width="434" height="40" /></p>
<p>　　该解析式对应的曲面为三维锥面。图像中任意确定的一点均有参数空间的一个三维锥面与之对应。对于圆周上的任一点{(xi,yi)，i=1，2，3，&hellip;，n}，这些三维锥面构成圆锥面簇，如图2所示。</p>
<p align="center"><img alt="" src="http://editerupload.eaw.com.cn/200907/4edcff010e133b5505689d717a386f6f.jpg" width="330" height="332" /></p>
<p>　　若集合中的点均在同一个圆周上，则这些圆锥面簇相交于参数空间上某一点，该点恰好对应于图像平面的圆心坐标及圆的半径。Hough变换在计算上将参数空间进一步分割为累加器单元A(i，j，k)，并先使累加器单元置零。根据式(1)对参数作相应循环，如果一个a(i)值得到相应的b(j)，r(k)，就令A(i,j,k)=A(i，j,k)+1。最后对每个累加器进行比较，找到最大值累加器，该累加器所对应的参数值(a,b,r)，就是在平面上所要检测圆的圆心及半径。</p>
<p>　　标准Hough变换的计算非常复杂，在圆形检测应用中随着取值范围的不断扩大，在参数域的三维数组尺寸成正比例增加，需要占用大量计算机内存，计算效率低下。因此，尽可能缩小参与Hough变换的参数域范围是提高其效率的关键。对其改进的步骤如下：</p>
<p>　　第一步：对图像作canny边缘检测处理，得出图像中待检测圆的单像素宽的边缘；</p>
<p>　　第二步：求出图像中待检测圆边缘在上，下，左，右4个方向上的极点，然后根据圆的几何对称性，采用&ldquo;最小外接矩形法&rdquo;估算待检测圆的圆心及半径，生成相应的子图，并滤除图像中的噪声。&ldquo;最小外接矩形法&rdquo;估算圆参数方法如图3所示，其中圆心O为</p>
<p align="center"><img alt="" src="http://editerupload.eaw.com.cn/200907/fe5a8966cb84ac0eb2d0d50669964965.jpg" width="463" height="57" /></p>
<p align="center"><img alt="" src="http://editerupload.eaw.com.cn/200907/b3496e4d79660e1e7f38b22a336d4cfa.jpg" width="310" height="328" /></p>
<p>　　第三步：考虑到图像可能存在缺陷和噪声，对估算所得到的圆心及半径进行适量缩放，从而缩小参与Hough变换的参数域范围。</p>
<p>　　第四步：在确定的圆心及半径范围内，根据圆的参数方程进行。Hough变换，从而检测圆的参数。</p>
<p>　　<strong>3．2 基于DSP／BIOS和RF5架构的算法实现</strong></p>
<p>　　算法的实现是基于CCS和DSP／BIOS及TI倡导的DSP软件架构RF5。该算法分为输入任务、处理任务、输出任务3个任务，软件框架如图4所示。</p>
<p align="center"><img alt="" src="http://editerupload.eaw.com.cn/200907/e347604f355ed8a01ef5ee7f60a17cab.jpg" width="471" height="285" /></p>
<p>　　在初始化完成后，系统进入DSP／BIOS任务调度管理，3个任务通过RF5的SCOM模块互相发送消息。</p>
<p>　　这3个任务完成的工作是：</p>
<p>　　(1)输入任务 从输入设备驱动程序获得视频图像。它使用驱动程序提供的FVID_exchange调用从输入设备获得一帧新视频图像。输入任务接着发送消息到处理任务，消息中包含图像数据指针，接着等待输出任务发送来的消息以继续运行。</p>
<p><br />
　　(2)处理任务 一直等到接收输入任务，包含图像数据指针消息，才开始激活运行。对接收到图像数据进行预处理，得出图像中待检测圆的细边缘，然后调用改进的Hough变换检测圆的参数，接着发送消息到输出任务，消息中包含经Hough变换检测后生成的图像数据指针，然后等待输入任务发送来的消息以继续运行。</p>
<p>　　(3)输出任务 将图像显示在显示设备上，使用驱动程序提供的FVID_exchange调用实现图像的显示，接着发送消息到输入任务，然后等待处理任务发送来的消息以继续运行。</p>
<p>　<strong>　4 实验结果</strong></p>
<p>　　采用某光纤插针内孔参数检测项目中所获取的内孔圆(如图5a所示，实际图像大小1 392&times;1 040像素，限于篇幅，缩小为原图的10％)来检验算法效果。原图的实际圆心坐标为(678，503)，半径为462。图5b为使用Canny算子检测得到的边缘图像；图5c为采用本文算法得到的检测结果。表1、表2分别列出了基于PC平台和TMS320DM642平台采用本文算法与采用标准Hough算法分别对图5a进行圆参数检测所得结果、占有内存大小及耗时的对比。</p>
<p align="center"><img alt="" src="http://editerupload.eaw.com.cn/200907/5db22a15b33c53540ea2862dd66cbb9a.jpg" width="470" height="174" /></p>
<p>　　从实验结果看出，经改进后的Hough变换圆检测算法，无论是基于PC平台还是TMS320DM642平台，与传统的Hough变换算法相比，算法的运算量、内存需求、耗时都有了大幅度的削减，因而有效地提高了圆的检测效率，满足实时性要求。</p>
<p>　<strong>　5 结论</strong></p>
<p>　　在以TMS320TMS320DM642为核心的实时图像处理平台上，通过对传统的Hough变换检测圆算法进行改进并运行验证，证明了对于时间复杂度较大的图像处理算法，在基于高端DSP的实时图像处理系统上运行，图像处理效果良好，能够满足实时性要求。</p>]]></description></item></channel></rss>