一.Sobel简介
-
一句话可以概况为,分别求水平与竖直梯度,然后求平方和再开方(近似的话就直接求绝对值之和),最后与设定的阈值进行比较,大于的话就赋值为0,小于的话就赋值为255。
-
x方向梯度dx的求法:3*3的图像矩阵与下面的矩阵在对应位置相乘然后相加
-
y方向梯度dy的求法:同上
二.代码实现
0] Sobel_px ,Sobel_nx; :
0] Sobel_py ,Sobel_ny; :
0] Sobel_x; :
0] Sobel_y; :
0] Sobel_data; :
//x方向的梯度
assign Sobel_x = (Sobel_px > Sobel_nx) ? (Sobel_px - Sobel_nx) : (Sobel_nx - Sobel_px);
//y方向的梯度
assign Sobel_y = (Sobel_py > Sobel_ny) ? (Sobel_py - Sobel_ny) : (Sobel_ny - Sobel_py);
(Sobel_x+Sobel_y>'d135)?'d0:'d255; =
clk_9M or negedge rst)
begin
= 1'b0) =
begin
Sobel_px <= 'd0;
Sobel_nx <= 'd0;
end
else if(cur_x >= 'd100 && cur_x <= 'd199 && cur_y >= 'd50)
begin
Sobel_nx <= data_line_11 + data_line_21 + data_line_21 + data_line_31;
Sobel_px <= data_line_13 + data_line_23 + data_line_23 + data_line_33;
end
else
begin
Sobel_nx <= 'd0;
Sobel_px <= 'd0;
end
end
clk_9M or negedge rst)
begin
= 1'b0) =
begin
Sobel_py <= 'd0;
Sobel_ny <= 'd0;
end
else if(cur_x >= 'd100 && cur_x <= 'd199 && cur_y >= 'd50)
begin
Sobel_py <= data_line_11 + data_line_12 + data_line_12 + data_line_13;
Sobel_ny <= data_line_31 + data_line_32 + data_line_32+ data_line_33;
end
else
begin
Sobel_ny <= 'd0;
Sobel_py <= 'd0;
end
end
审核编辑:汤梓红
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
FPGA
+关注
关注
1625文章
21650浏览量
601497 -
sobel
+关注
关注
0文章
12浏览量
7891
原文标题:FPGA实现Sobel边缘检测
文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
基于FPGA的Sobel边缘检测工作原理
Sobel 边缘检测的工作原理是检测图像在水平和垂直方向上的梯度变化。为此,将两个卷积滤波器应用于原始图像,然后组合这些卷积滤波器的结果以确定梯度的大小。
发表于 12-14 11:34
•1390次阅读
基于FPGA的Sobel边缘检测的实现
我们在此基础上修改,从而实现,基于FPGA的动态图片的Sobel边缘检测、中值滤波、Canny算子边缘检测、腐蚀和膨胀等。那么这篇文章我们将来实现基于FPGA的Sobel边缘检测。图像
发表于 08-29 15:41
基于FPGA的边缘检测和Sobel算法
转帖摘要: 针对嵌入式软件无法满足数字图像实时处理速度问题,提出用硬件加速器的思想,通过FPGA实现Sobel边缘检测算法。通过乒乓操作、并行处理数据和流水线设计,大大提高算法的处理速度。采用模块
发表于 11-29 08:57
从zynq_base_trd_14_4调试“sobel_cmd_linux”时出错
在我尝试从zynq_base_trd_14_4调试“sobel_cmd”时,作为“远程ARM Linux应用程序”我遇到了错误:描述资源路径位置Typemake:***没有规则来制作
发表于 09-03 08:04
【正点原子FPGA连载】第七章OV5640摄像头Sobel边缘检测-领航者ZYNQ之HLS 开发指南
边缘检测实验,来学习如何使用Vivado HLS工具生成实现Sobel边缘检测算法的IP核,以及在Vivado中对综合结果进行验证的流程。本章包括以下几个部分:77.1Sobel边缘检测简介
发表于 10-13 17:05
【米尔MYS-8MMX开发板免费试用】-VI.Sobel边缘检测(ZMJ)
【米尔MYS-8MMX开发板】-VI.Sobel边缘检测(ZMJ)1.功能简介本案例使用 GStreamer API 通过 ARM Cotrex-A53 从 USB 摄像头获取 MJPEG 格式视频
发表于 09-10 15:41
迅为iTOP-RK3568开发板Sobel 算子边缘检测
本小节代码在配套资料“iTOP-3568 开发板\\\\03_【iTOP-RK3568 开发板】指南教程
\\\\04_OpenCV 开发配套资料\\\\32”目录下,如下图所示:
Sobel
发表于 09-18 10:27
浅述Sobel算子在HLS上的实现教程
Sobel 原理介绍 索贝尔算子(Sobel operator)主要用作边缘检测,在技术上,它是一离散性差分算子,用来运算图像亮度函数的灰度之近似值。在图像的任何一点使用此算子,将会产生对应的灰度
Sobel算子原理介绍与实现方法
索贝尔算子(Sobel operator)主要用作边缘检测,在技术上,它是一离散性差分算子,用来运算图像亮度函数的灰度之近似值。在图像的任何一点使用此算子,将会产生对应的灰度矢量或是其法矢量Sobel 卷积因子为:
SpinalHDL里如何实现Sobel边缘检测
书接上文,趁着今天休假,采用SpinalHDL做一个小的demo,看看在SpinalHDL里如何优雅的实现Sobel边缘检测。
评论