0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于FPGA中Sobel的简介与实现

FPGA之家 来源:FPGA之家 作者:FPGA之家 2021-04-07 11:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一。 Sobel简介

一句话可以概况为,分别求水平与竖直梯度,然后求平方和再开方(近似的话就直接求绝对值之和),最后与设定的阈值进行比较,大于的话就赋值为0,小于的话就赋值为255

x方向梯度dx的求法:3*3的图像矩阵与下面的矩阵在对应位置相乘然后相加

9c1adcec-92eb-11eb-8b86-12bb97331649.png

y方向梯度dy的求法:同上

9c661eb4-92eb-11eb-8b86-12bb97331649.png

二。 代码实现

这里采用近似计算G = |dx| + |dy|,正负号分开计算,然后用大的数减去小的数

reg[10:0] Sobel_px ,Sobel_nx;reg[10:0] Sobel_py ,Sobel_ny;

wire[10:0] Sobel_x;wire[10:0] Sobel_y;

wire[7: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);assign Sobel_data = (Sobel_x + Sobel_y 》 ‘d135) ? ’d0 : ‘d255;

always@(posedge clk_9M or negedge rst)begin if(rst == 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; endend

always@(posedge clk_9M or negedge rst)begin if(rst == 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; endend
编辑:lyn

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1656

    文章

    22290

    浏览量

    630398
  • sobel
    +关注

    关注

    0

    文章

    12

    浏览量

    8173

原文标题:FPGA实现Sobel边缘检测

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何使用FPGA实现SRIO通信协议

    本例程详细介绍了如何在FPGA实现Serial RapidIO(SRIO)通信协议,并通过Verilog语言进行编程设计。SRIO作为一种高速、低延迟的串行互连技术,在高性能计算和嵌入式系统中广
    的头像 发表于 11-12 14:38 5043次阅读
    如何使用<b class='flag-5'>FPGA</b><b class='flag-5'>实现</b>SRIO通信协议

    基于FPGA的肤色检测方案简介

    的白色区域扩大,从而抵消腐蚀操作对图像带来的变化。通过腐蚀和膨胀,可以在几乎不改变图像的前提下消除干扰,提高肤色检测准确度。其效果如下所示: 在FPGA实现腐蚀和膨胀操作最主要的就是按照
    发表于 10-28 07:07

    如何利用Verilog HDL在FPGA实现SRAM的读写测试

    本篇将详细介绍如何利用Verilog HDL在FPGA实现SRAM的读写测试。SRAM是一种非易失性存储器,具有高速读取和写入的特点。在FPGA
    的头像 发表于 10-22 17:21 3966次阅读
    如何利用Verilog HDL在<b class='flag-5'>FPGA</b>上<b class='flag-5'>实现</b>SRAM的读写测试

    聊聊FPGA的TDC原理

    今天我们不谈高大上的物理学,只聊聊如何在 FPGA ,用一串加法器和 D 触发器,“数清楚时间”——这就是时间数字转换器(TDC)的魅力。
    的头像 发表于 09-02 15:15 962次阅读
    聊聊<b class='flag-5'>FPGA</b><b class='flag-5'>中</b>的TDC原理

    FPGA利用DMA IP核实现ADC数据采集

    DMA IP核来实现高效数据传输的步骤,包括创建项目、配置ADC接口、添加和连接DMA IP核、设计控制逻辑、生成比特流、软件开发及系统集成。文章还强调了系统实现不可或缺的ip_repo文件的重要性和作用。
    的头像 发表于 07-29 14:12 4654次阅读

    基于FPGA的压缩算法加速实现

    本设计,计划实现对文件的压缩及解压,同时优化压缩中所涉及的信号处理和计算密集型功能,实现对其的加速处理。本设计的最终目标是证明在充分并行化的硬件体系结构 FPGA
    的头像 发表于 07-10 11:09 2092次阅读
    基于<b class='flag-5'>FPGA</b>的压缩算法加速<b class='flag-5'>实现</b>

    开源FPGA硬件,核心开发者招募......

    01背景简介近期,小眼睛科技联合紫光同创及电子发烧友发起了#拥抱开源!一起来做FPGA开发板活动,活动一经发布,得到了很多开源爱好者的热烈响应,再次感谢大家的支持!为便于活动顺利开展,我们将根据大家
    的头像 发表于 06-20 08:03 990次阅读
    开源<b class='flag-5'>FPGA</b>硬件,核心开发者招募<b class='flag-5'>中</b>......

    FPGA与高速ADC接口简介

    本文介绍FPGA与高速ADC接口方式和标准以及JESD204与FPGA高速串行接口。
    的头像 发表于 06-12 14:18 2729次阅读
    <b class='flag-5'>FPGA</b>与高速ADC接口<b class='flag-5'>简介</b>

    是否有关于如何通过 I2C 总线上的 uProcessor 或 FPGA 与芯片通信的文档?

    我们正在做一个项目,我们想回读电缆的eMarker芯片。 浏览不同的评估板和数据表,看来我们需要为芯片编译代码。 1. 芯片是否预配置了默认固件? 2. 是否有关于如何通过 I2C 总线
    发表于 05-29 06:13

    基于FPGA的图像边缘检测设计

    今天给大侠带来基于 FPGA 的图像边缘检测设计,话不多说,上货。 设计流程如下:mif文件的制作→ 调用 ip 核生成rom以及仿真注意问题→ 灰度处理→ 均值滤波:重点是3*3 像素阵列的生成
    的头像 发表于 02-10 11:30 1100次阅读
    基于<b class='flag-5'>FPGA</b>的图像边缘检测设计

    一文解析高频交易FPGA的作用及面试建议

    和其他人的亲身经历,写了一篇关于测试职位是什么样子以及如何准备面试的文章。 HFT 世界是什么样的 为了理解这些术语并以更合适的方式做好准备,我们首先来谈谈 HFT 是什么,以及为什么 FPGA 在交易
    的头像 发表于 01-23 10:57 1438次阅读
    一文解析高频交易<b class='flag-5'>中</b><b class='flag-5'>FPGA</b>的作用及面试建议

    ADS8361 fpga如何实现

    ADS8361项目中用到ADS8361,Verilog或者vhdl语言怎么实现对ad的读写?? ADS8361的误差有多少?我用FPGA写的误差有30mv,什么原因?求赐教
    发表于 01-20 06:15

    利用FPGA实现USB 2.0通信接口

    USB 2.0接口的实现方式 利用FPGA实现USB 2.0接口的方式一般有两种,一是借助外围的USB接口芯片,二是FPGA内部实现USB
    的头像 发表于 12-30 13:59 3789次阅读
    利用<b class='flag-5'>FPGA</b><b class='flag-5'>实现</b>USB 2.0通信接口

    基于FPGA实现图像直方图设计

    直方图统计的原理 直方图统计从数学上来说,是对图像的像素点进行统计。图像直方图统计常用于统计灰度图像,表示图像各个灰度级出现的次数或者概率。统计直方图的实现采用C/C++或者其他高级语言
    的头像 发表于 12-24 10:24 1210次阅读
    基于<b class='flag-5'>FPGA</b><b class='flag-5'>实现</b>图像直方图设计

    FPGA驱动AD芯片之实现与芯片通信

    概述: 利用FPGA实现AD芯片的时序,进一步实现与AD芯片数据的交互,主要熟悉FPGA对时序图的实现,掌握时序图转换Verilog硬件描述
    的头像 发表于 12-17 15:27 1524次阅读
    <b class='flag-5'>FPGA</b>驱动AD芯片之<b class='flag-5'>实现</b>与芯片通信