CN107633525B - 一种基于fpga的降噪边缘检测方法 - Google Patents
一种基于fpga的降噪边缘检测方法 Download PDFInfo
- Publication number
- CN107633525B CN107633525B CN201710729198.0A CN201710729198A CN107633525B CN 107633525 B CN107633525 B CN 107633525B CN 201710729198 A CN201710729198 A CN 201710729198A CN 107633525 B CN107633525 B CN 107633525B
- Authority
- CN
- China
- Prior art keywords
- zero crossing
- crossing point
- image
- suspicious
- point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于FPGA的降噪型边缘检测方法,包括:将待处理图像转化成mif格式文件,并存入FPGA中的单口ROM IP核,利用地址计数将图像数据从ROM中读出;将图像与5×5的高斯拉普拉斯算子进行卷积操作;利用四个方向sobel算子的模板计算7×7阵列中的中心点处的四个方向的最大一阶偏导数;LOG算子卷积值阈值化,找出可疑零交叉点和非零交叉点;对于可疑零交叉点,当其与中心点处梯度法向方向相一致时认为此点为真零交叉点,否则为假零交叉点;对真零交叉点与假零交叉点,分别进行梯度方向上的膨胀与腐蚀操作;对于非零交叉点,进行腐蚀膨胀的开运算,对图像去噪,获得图像的边缘。
Description
技术领域
本发明涉及图像处理和机器视觉技术领域。
背景技术
边缘检测是数字图像处理领域中一个重要的组成部分,传统的边缘检测算子是利用灰度的剧烈变化来检测出图像的边缘,这些方法虽然能够检测出边缘但是对图像当中的噪声却不能很好的滤除反而产生较大的响应。如何提高边缘检测的精度是众多学者一直在研究的问题。
发明内容
本发明的目的是提供一种更为精确的图像边缘检测对即使被噪声污染的图片也能起到精确的边缘检测的效果。并且利用FPGA的并行性和流水线处理的优势,提高系统的实时性和便携性。提供一种基于FPGA的降噪型边缘检测系统。本发明的技术方案如下:
一种基于FPGA的降噪型边缘检测方法,包括下列的步骤:
(1)将待处理图像转化成FPGA可以识别的两个mif格式文件,并存入FPGA中的两个单口ROM IP核,一个mif文件为图片的像素索引值,另一个mif文件为索引值对应的像素值,之后利用地址计数将图像数据从ROM中读出;
(2)将图像与5×5的高斯拉普拉斯算子进行卷积操作,方法如下:从ROM中读出的图像数据利用移位寄存器Shift Register缓存7行,之后将7行数据随着时钟周期存入7×7的寄存器阵列;对于模板中的乘法运算利用Verilog语言中的移位运算符达到乘以2的幂次的效果,之后将模板覆盖的25寄存器相加得到一个卷积值。
(3)利用0°,45°,90°和135°四个方向sobel算子的模板计算7×7阵列中的中心点处的四个方向的最大一阶偏导数;
(4)将步骤(2)得到的LOG算子卷积值阈值化:预设一个正阈值和一个负阈值,在FPGA中分配三个比特的符号位寄存器,卷积值大于正阈值时符号位为“001”,小于负阈值时符号位为“010”,其余的情况符号位为“100”;根据中心点以及相邻点处的LOG卷积值的符号从“001”“010”两种情况中找出可疑零交叉点,“100”的情况为非零交叉点;
(5)对于可疑零交叉点,当其与中心点处梯度法向方向相一致时认为此点为真零交叉点,否则为假零交叉点;
(6)对真零交叉点与假零交叉点,用步骤(3)所述的四个方向的基本体分别进行梯度方向上的膨胀与腐蚀操作;对于非零交叉点,进行腐蚀膨胀的开运算,对图像去噪,获得图像的边缘。
本发明对传统边缘检测算法进行了改进,适用于对被污染的图像进行边缘检测,可以能够提高图像的清晰度,此外利用FPGA的并行处理的优势提高了边缘检测的运行效率,能够在边缘检测的同时对图像中的非边缘点的噪声进行滤除。
附图说明
图1系统总体设计框图;
图2图片存储模块硬件电路图;
图3算法流程图;
图4 LOG算子模板;
图5卷积计算模块硬件电路图;
图6 4个方向的sobel算子模板;
图7中心点处最大梯度仿真图;
图8零交叉点判断仿真图;
图9四个方向的基本体;
图10(a)腐蚀算法效果图(b)膨胀算法效果图;
图11腐蚀膨胀算法电路设计图;
图12算法效果图,(a)原始图片加噪声(b)原始LoG边缘检测图像(c)降噪边缘检测算子图像(d)prewitt边缘检测算子(e)sobel边缘检测算子(f)FPGA实现效果图。
具体实施方式
下面结合附图和实例,对本发明进行说明。
图1为本发明采用的系统的总体设计框图,其中的核心FPGA芯片采用的是Altera公司的Cyclone IV EP4CE115F29C7N。算法处理模块将降噪边缘检测算法经Verilog语言编程,用quartusII软件进行编译综合后下载到芯片中形成相应的硬件电路;图片存储模块的硬件电路图如图2所示,首先,利用映射软件将一幅图片转化为FPGA可以识别的两个mif格式文件,存入FPGA中的两个单口ROM IP核中,为节省芯片资源,其中一个mif文件为图片的像素索引值,另一个mif文件为索引值对应的像素值,通过地址计数以及全局时钟的驱动输出24位真彩的图像数据;图像显示模块利用Verilog语言编写VGA控制器产生行场消隐信号连同算法处理后的视频数据送入视频解码芯片DAC7123中进行解码,通过显示器显示出来。
算法处理模块是系统的核心部分,主要将降噪边缘检测算法经Verilog语言编写。算法流程图如图3所示。
(1)将图像与5×5的高斯拉普拉斯算子进行卷积操作,LOG算子的模板如图4所示,LOG算子即高斯拉普拉斯算子,是一种优良的边缘检测算子,具有各向同性性,通过二阶导数的零交叉点来找出图像的边缘点,该算子首先对图像进行高斯卷积滤波达到降噪的目的,再采用Laplace算子判断二阶导数的过零点进行边缘检测,在检测边缘的同时提高算子对噪声和离散点的鲁棒性。
对于卷积的操作,首先,从ROM中读出的数据利用移位寄存器Shift Register缓存7行,之后将7行数据随着时钟周期存入7×7的寄存器阵列,其次,对于模板中的乘法运算利用Verilog语言中的移位运算符达到乘以2的幂次的效果,之后将模板覆盖的25寄存器相加得到一个卷积值。这样的硬件结构,充分利用FPGA的并行性的优势,在一个时钟周期内进行25个乘加运算,从而得到一个模板的卷积值。图5为卷积计算模块硬件电路图。
(2)利用四个方向的sobel算子的模板计算7×7阵列中的中心点处的四个方向的(0度,45度,90度,135度)最大一阶偏导数,sobel算子的模板如图6所示,此模块的在线逻辑分析仿真图如图7所示。
(3)将得到的LOG算子卷积值阈值化,为了避免在FPGA中进行有符号数的操作,在FPGA中分配三个比特的符号位寄存器。卷积值大于正阈值时符号位为“001”;小于小于负阈值时符号位为“010”;对于一个7×7的寄存器阵列可以得到9个方向的LOG卷积值,根据中心点以及相邻点处的LOG卷积值的符号从“001”“010”两种情况中找出可疑零交叉点,其余的情况符号位为“100”;“100”的情况为非零交叉点。图8为零交叉点判断仿真图。
(4)当可疑零交叉点与中心点处梯度法向方向相一致时认为此点为真零交叉点,否则为假零交叉点。对真零交叉点与假零交叉点用四个方向的“一”字型基本体进行腐蚀膨胀细化。
图像A被基本体B腐蚀定义为:可以理解为,移动基本体B,如果基本体B与图像A的交集完全属于图像A则保存该点为前景点否则保存该点为背景点,形成的效果是A被B腐蚀一圈。图像C被基本体D膨胀定义为:可以理解为,移动基本体D,如果基本体D在运动的过程中与图像C存在重叠的区域,则保存该点为前景点,否则保存该点为背景点,其结果就是图像C被基本体D膨胀一圈。本文定义4个方向的“一”字型基本体,此基本体由三个像素点组成线状。实验发现,“一”字型基本体的腐蚀操作可以弱化相应方向上的边缘点,“一”字型基本体的膨胀操作可以强化相应方向上的边缘点。四个方向的基本体如图9所示。腐蚀算法的效果图如图10(a)所示。膨胀的效果图如图10(b)所示。
用条形的特定方向基本体对原图像进行腐蚀可以对此方向的线条起到弱化腐蚀作用,从而消除假零交叉点对边缘检测效果的影响,以及LOG算子的双边缘效应。反之,进行膨胀操作可以对此方向的真边缘点起到加强作用,提高边缘检测的准确率。
对于腐蚀膨胀算法的实现与进行LOG算子的卷积操作基本相同,首先用行缓存缓存一个3×3的寄存器阵列,如果进行腐蚀操作,则在模板阵列的相应像素点进行与的操作,否则进行相或的操作。图11为腐蚀膨胀算法的电路设计图。
(5)对于非零交叉点,进行腐蚀膨胀的开运算。
形态学的腐蚀膨胀的开运算可以用来消除较小且无意义的噪声点或者物体,平滑较大物体的边界,对画面中的噪声有较好的抑制作用。
图12为算法的效果图,图12(a)为加入高斯噪声的原始图片;图12(b)为对(a)用原始的零交叉算子进行边缘检测的图片;图12(c)为对(a)用降噪边缘检测算子进行边缘检测的图片;图12(d)为对(a)用prewitt边缘检测算子进行边缘检测的图片;图12(d)为对(a)用sobel边缘检测算子进行边缘检测的图片;可以看出其他的算法在边缘检测的同时均产生了较大的椒盐噪声使图片模糊不清,而本算法在进行边缘检测的同时对噪声产生了很好的滤除作用。表1为对各个边缘检测算法进行统计的峰值信噪比,可以看出本算法的峰值信噪比均高于其他算法。
MSE | PSNR | |
降噪边缘检测算子 | 0.067 | 59.89 |
LoG边缘检测算子 | 0.14 | 56.81 |
prewitt边缘检测算子 | 0.30 | 53.33 |
sobel边缘检测算子 | 0.30 | 53.34 |
图12(f)为本发明算法用FPGA实现的效果图。可以看出本发明能够满足设计的要求,在边缘检测的同时完成图像的去噪的目的。具有良好的实时性和稳定性。
Claims (1)
1.一种基于FPGA的降噪型边缘检测方法,包括下列的步骤:
(1)将待处理图像转化成FPGA可以识别的两个mif格式文件,并存入FPGA中的两个单口ROM IP核,一个mif文件为图片的像素索引值,另一个mif文件为索引值对应的像素值,之后利用地址计数将图像数据从ROM中读出;
(2)将图像与5×5的高斯拉普拉斯算子进行卷积操作,方法如下:从ROM中读出的图像数据利用移位寄存器Shift Register缓存7行,之后将7行数据随着时钟周期存入7×7的寄存器阵列;对于模板中的乘法运算利用Verilog语言中的移位运算符达到乘以2的幂次的效果,之后将模板覆盖的25寄存器相加得到一个卷积值;
(3)利用0°,45°,90°和135°四个方向sobel算子的模板计算7×7阵列中的中心点处的四个方向的最大一阶偏导数;
(4)将步骤(2)得到的LOG算子卷积值阈值化:预设一个正阈值和一个负阈值,在FPGA中分配三个比特的符号位寄存器,卷积值大于正阈值时符号位为“001”,小于负阈值时符号位为“010”,其余的情况符号位为“100”;根据中心点以及相邻点处的LOG卷积值的符号从“001”“010”两种情况中找出可疑零交叉点, “100”的情况为非零交叉点;
(5)对于可疑零交叉点,当其方向与所求出的中心点处梯度法向方向相一致时,认为此点为真零交叉点,否则为假零交叉点;
(6)对真零交叉点与假零交叉点,用步骤(3)所述的四个方向的基本体分别进行梯度方向上的膨胀与腐蚀操作;对于非零交叉点,进行腐蚀膨胀的开运算,对图像去噪,获得图像的边缘。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710729198.0A CN107633525B (zh) | 2017-08-23 | 2017-08-23 | 一种基于fpga的降噪边缘检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710729198.0A CN107633525B (zh) | 2017-08-23 | 2017-08-23 | 一种基于fpga的降噪边缘检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107633525A CN107633525A (zh) | 2018-01-26 |
CN107633525B true CN107633525B (zh) | 2021-03-02 |
Family
ID=61099778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710729198.0A Expired - Fee Related CN107633525B (zh) | 2017-08-23 | 2017-08-23 | 一种基于fpga的降噪边缘检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107633525B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108509171A (zh) * | 2018-03-29 | 2018-09-07 | 苏州佳智彩光电科技有限公司 | 一种基于fpga在oled屏上显示汉字和字符的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521802A (zh) * | 2011-11-28 | 2012-06-27 | 广东省科学院自动化工程研制中心 | 一种数学形态学和LoG算子结合的边缘检测算法 |
CN205230140U (zh) * | 2015-12-22 | 2016-05-11 | 安徽理工大学 | 一种基于FPGA和Sobel算子的图像边缘检测装置 |
CN105787912A (zh) * | 2014-12-18 | 2016-07-20 | 南京大目信息科技有限公司 | 一种基于分类的阶跃型边缘亚像素定位方法 |
KR101684990B1 (ko) * | 2015-08-04 | 2016-12-12 | 청주대학교 산학협력단 | 양방향 필터의 시그마 변수를 이용한 차량 영상 디블러 방법 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2810540C (en) * | 2012-03-28 | 2020-06-16 | Schlumberger Canada Limited | Seismic attribute color model transform |
-
2017
- 2017-08-23 CN CN201710729198.0A patent/CN107633525B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521802A (zh) * | 2011-11-28 | 2012-06-27 | 广东省科学院自动化工程研制中心 | 一种数学形态学和LoG算子结合的边缘检测算法 |
CN105787912A (zh) * | 2014-12-18 | 2016-07-20 | 南京大目信息科技有限公司 | 一种基于分类的阶跃型边缘亚像素定位方法 |
KR101684990B1 (ko) * | 2015-08-04 | 2016-12-12 | 청주대학교 산학협력단 | 양방향 필터의 시그마 변수를 이용한 차량 영상 디블러 방법 |
CN205230140U (zh) * | 2015-12-22 | 2016-05-11 | 安徽理工大学 | 一种基于FPGA和Sobel算子的图像边缘检测装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107633525A (zh) | 2018-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lee et al. | Energy efficient canny edge detector for advanced mobile vision applications | |
CN109300190B (zh) | 三维数据的处理方法、装置、设备和存储介质 | |
Xu et al. | A distributed canny edge detector: algorithm and FPGA implementation | |
Yao et al. | An architecture of optimised SIFT feature detection for an FPGA implementation of an image matcher | |
CN110738106A (zh) | 一种基于fpga的光学遥感图像船舶检测方法 | |
Tomasi et al. | High-performance optical-flow architecture based on a multi-scale, multi-orientation phase-based model | |
Zhou et al. | Fast and resource-efficient hardware implementation of modified line segment detector | |
JP6128617B2 (ja) | 画像認識装置およびプログラム | |
CN107633525B (zh) | 一种基于fpga的降噪边缘检测方法 | |
Khalid et al. | FPGA implementation of high speed and low power architectures for image segmentation using sobel operators | |
CN108520262B (zh) | 一种基于fpga实时提取fhog特征的方法 | |
CN116091297A (zh) | 一种图像连通域标记硬件实现算法 | |
Xiong et al. | Fpga implementation of blob recognition | |
Geninatti et al. | Real-time reconfigurable processor to detect similarities in compressed video using generalized hough transformation | |
Fathi et al. | Low-cost and real-time hardware implementation of stereo vision system on FPGA | |
CN110264488B (zh) | 一种二值图像边缘提取装置 | |
Qiu et al. | A 7-round parallel hardware-saving accelerator for Gaussian and DoG pyramid construction part of SIFT | |
Cai et al. | A high performance SURF image feature detecting system based on ZYNQ | |
Luo et al. | A method for real-time implementation of HOG feature extraction | |
Jen et al. | A circular hough transform hardware for industrial circle detection applications | |
Nickel et al. | High-performance AKAZE implementation including parametrizable and generic HLS modules | |
Kraft et al. | Morphological edge detection algorithm and its hardware implementation | |
Chandrashekar et al. | DBRAM-CSLA-CED method for lung cancer detection by virtex 6 FPGA | |
CN109472777B (zh) | 一种基于fpga异构计算的桥梁检测方法 | |
Deokar et al. | Review on distributed canny edge detector using FPGA |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210302 Termination date: 20210823 |