微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于DSP数字信号处理器的墙体裂缝测图像的处理

基于DSP数字信号处理器的墙体裂缝测图像的处理

时间:03-02 来源: 电子元器件应用 作者:邓恒淹,张继森,袁小平 中国矿业大学 点击:

后的处理过程首先要对图像进行中值滤波,其次通过灰度值修正,取得最优阈值后再进行二值化分割,以完成对图像的处理。

中值滤波算法的C语言实现过程首先是确定中值滤波窗口与形状,然后将窗口内的像素值存入数组中,再通过冒泡法对该数组进行排序以取出中值,最后用该中值替换原来窗口的中心像素,至此,便实现了图像的中值滤波。由于墙体裂缝图像的特殊性,灰度值修正算法的C语言实现过程是先获取用户感兴趣的灰度区域[A,B],再利用循环对每个像素点的值M进行判断,若M<A,则将M赋值为0,若M>B,则将M赋值为25 5,若A<M<B,则有:

式中INT为取整,通过以上运算,便可实现感兴趣区域的灰度拉伸,使对比度增强。图2所示是通过C语言实现中值滤波与灰度修正的具体流程图。

在阈值分割算法的C语言实现过程中,由于裂缝图像中的裂缝和墙体背景的灰度值相差较大,因此,其直方图会呈现明显的双峰形状,而将该谷值作为分割的阈值来进行二值分割会得到较好的分割图像。一般情况下,采用迭代阈值分割法比较适合。用迭代的方法来对阈值进行迭代,能够自适应地寻找出最优的阈值。然后将每个像素值与阈值进行比较,大于阈值时,将该点的像素值置为255;小于阈值时,将该点的像素值置为0。此时,便完成图像的二值化分割。在整个过程的运行中,主函数先开始执行,并先进行初始化,包括将图像数据装入到指定的存储空间,设置图像的边界和大小,通过迭代阈值法得到最佳阈值T等,接着再进行中值滤波,然后进行灰度修正,再后进行阈值分割,至此便完成了整个图像的处理过程。通过C语言实现阈值分割算法以及整个图像处理的流程如图3所示。

4 仿真结果分析

本文利用DSP集成开发平台CCS对裂缝图像的处理进行了仿真,并通过建立新的工程将主程序以及相关的库函数加入到工程中,然后在配置存储空间和编译链接后,链接了仿真器,并将生成的下载文件下载到仿真器中,最后设置断点,开始运行程序,观察每次图像处理的结果。其具体的仿真结果如图4所示。

在图4中,图4(a)为原图像,(b)为经过中值滤波后的图像,该图像中的噪声有所减少,但图像也开始有点模糊; (c)为灰度调整后的图像,该图像中亮度明显增加,裂缝与背景的对比度明显提高,细节也较明显; (d)为利用迭代阈值法进行二值分割后的图像,可以看出,该图像中的裂缝基本被分割出来,粗的裂缝清晰明显,细的裂缝分割效果也基本满意,可以达到裂缝图像去噪、增强、分割的目的。

5 结束语

本文主要探讨墙体裂缝图像的预处理过程以及算法的DSP实现。该方法通过C语言编程并利用DSP可完成图像采集、中值滤波、图像增强、图像分割四个步骤,从而完成整个裂缝图像的处理过程。墙体裂缝图像经处理后,裂缝能较清晰的得到显示与分割,而且细节信息基本保留,因而可为其他处理做准备。由于该方法是通过DSP来实现整个过程,故其硬件系统结构简洁。事实上,本文的方法也可在一些便携式墙体裂缝检测设备中得到应用。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top