集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1323|回复: 4

Sobel边缘检测的实现

[复制链接]
晓灰灰 发表于 2017-3-21 11:36:27 | 显示全部楼层 |阅读模式
        Sobel边缘检测的实现
  Sobel边缘检测算法是一种基于梯度的图像边缘检测的方式,该算法容易在硬件上实现,且能够平滑一定的噪声,边缘检测效果较好。Sobel 算子的边缘检测是在图像空间内利用 2 个方向模板与图像进行邻域卷积来完成的。这两个方向模板,一个检测水平边缘,另一个检测垂直边缘。它们的方向梯度算子模板如下:
  
  水平方向梯度模板  垂直方向梯度模板
  以模板内的数字为权重系数,与图像平面对应的像素值相乘可以求出水平梯度PX与垂直梯度PY。然后根据梯度计算公式, 求出梯度值|G|,并与预先设定的阈值进行比较从而确定图像的边沿。
根据以上分析,系统利用QUARTUS中的IP核模块并结合硬件语言编程实现了Sobel边缘检测模块的设计,具体实现过程如图4所示,其中乘加器是计算像素梯度值的主要模块。一个乘加器中包括3个乘法运算模块和1个加法运算模块,分布情况如图5所示,其中dataa为输入的行像素,datab为方向模板的权重系数。一个乘法器模块可以实现一行像素与其对应的模板系数的卷积运算。边缘检测模块需要6个乘加器来实现X方向和Y方向的梯度值运算。开方模块结合X方向与Y方向的梯度,确定该点的像素梯度值。然后再将得到的梯度值与阈值进行比较,从而确定图像的边缘。
星坠天际 发表于 2017-3-21 13:35:39 | 显示全部楼层
Sobel边缘检测
 楼主| 晓灰灰 发表于 2017-3-22 09:06:04 | 显示全部楼层
对不住,昨天有事,子模版没来得及发
 楼主| 晓灰灰 发表于 2017-3-22 09:08:16 | 显示全部楼层
它们的方向梯度算子模板如下:
  
左边是水平方向梯度模板  右边是垂直方向梯度模板

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
 楼主| 晓灰灰 发表于 2017-3-22 09:08:49 | 显示全部楼层
然后根据梯度计算公式, 求出梯度值|G|,并与预先设定的阈值进行比较从而确定图像的边沿。计算公式如下

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-5-5 02:48 , Processed in 0.071686 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表