0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Sobel簡(jiǎn)介及代碼實(shí)現(xiàn)

FPGA之家 ? 來(lái)源:FPGA之旅 ? 作者:風(fēng)花雪月 ? 2022-08-09 12:35 ? 次閱讀

一.Sobel簡(jiǎn)介

  • 一句話可以概況為,分別求水平與豎直梯度,然后求平方和再開(kāi)方(近似的話就直接求絕對(duì)值之和),最后與設(shè)定的閾值進(jìn)行比較,大于的話就賦值為0,小于的話就賦值為255。

  • x方向梯度dx的求法:3*3的圖像矩陣與下面的矩陣在對(duì)應(yīng)位置相乘然后相加

    fb0ac9b2-179a-11ed-ba43-dac502259ad0.png

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

    fb1a2100-179a-11ed-ba43-dac502259ad0.png

二.代碼實(shí)現(xiàn)

這里采用近似計(jì)算G = |dx| + |dy|, 正負(fù)號(hào)分開(kāi)計(jì)算,然后用大的數(shù)減去小的數(shù)
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);assignSobel_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

審核編輯:湯梓紅


聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1620

    文章

    21510

    瀏覽量

    598900
  • sobel
    +關(guān)注

    關(guān)注

    0

    文章

    12

    瀏覽量

    7871

原文標(biāo)題:FPGA實(shí)現(xiàn)Sobel邊緣檢測(cè)

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于FPGA的Sobel邊緣檢測(cè)工作原理

    Sobel 邊緣檢測(cè)的工作原理是檢測(cè)圖像在水平和垂直方向上的梯度變化。為此,將兩個(gè)卷積濾波器應(yīng)用于原始圖像,然后組合這些卷積濾波器的結(jié)果以確定梯度的大小。
    發(fā)表于 12-14 11:34 ?1321次閱讀

    基于FPGA的Sobel邊緣檢測(cè)的實(shí)現(xiàn)

    我們?cè)诖嘶A(chǔ)上修改,從而實(shí)現(xiàn),基于FPGA的動(dòng)態(tài)圖片的Sobel邊緣檢測(cè)、中值濾波、Canny算子邊緣檢測(cè)、腐蝕和膨脹等。那么這篇文章我們將來(lái)實(shí)現(xiàn)基于FPGA的Sobel邊緣檢測(cè)。圖像
    發(fā)表于 08-29 15:41

    基于FPGA的邊緣檢測(cè)和Sobel算法

    轉(zhuǎn)帖摘要: 針對(duì)嵌入式軟件無(wú)法滿足數(shù)字圖像實(shí)時(shí)處理速度問(wèn)題,提出用硬件加速器的思想,通過(guò)FPGA實(shí)現(xiàn)Sobel邊緣檢測(cè)算法。通過(guò)乒乓操作、并行處理數(shù)據(jù)和流水線設(shè)計(jì),大大提高算法的處理速度。采用模塊
    發(fā)表于 11-29 08:57

    從zynq_base_trd_14_4調(diào)試“sobel_cmd_linux”時(shí)出錯(cuò)

    在我嘗試從zynq_base_trd_14_4調(diào)試“sobel_cmd”時(shí),作為“遠(yuǎn)程ARM Linux應(yīng)用程序”我遇到了錯(cuò)誤:描述資源路徑位置Typemake:***沒(méi)有規(guī)則來(lái)制作
    發(fā)表于 09-03 08:04

    【正點(diǎn)原子FPGA連載】第七章OV5640攝像頭Sobel邊緣檢測(cè)-領(lǐng)航者ZYNQ之HLS 開(kāi)發(fā)指南

    邊緣檢測(cè)實(shí)驗(yàn),來(lái)學(xué)習(xí)如何使用Vivado HLS工具生成實(shí)現(xiàn)Sobel邊緣檢測(cè)算法的IP核,以及在Vivado中對(duì)綜合結(jié)果進(jìn)行驗(yàn)證的流程。本章包括以下幾個(gè)部分:77.1Sobel邊緣檢測(cè)簡(jiǎn)介
    發(fā)表于 10-13 17:05

    【米爾MYS-8MMX開(kāi)發(fā)板免費(fèi)試用】-VI.Sobel邊緣檢測(cè)(ZMJ)

    【米爾MYS-8MMX開(kāi)發(fā)板】-VI.Sobel邊緣檢測(cè)(ZMJ)1.功能簡(jiǎn)介本案例使用 GStreamer API 通過(guò) ARM Cotrex-A53 從 USB 攝像頭獲取 MJPEG 格式視頻
    發(fā)表于 09-10 15:41

    時(shí)間戳的簡(jiǎn)介實(shí)現(xiàn)

    時(shí)間戳?xí)r間戳簡(jiǎn)介時(shí)間戳的實(shí)現(xiàn)時(shí)間戳的初始化時(shí)間戳簡(jiǎn)介簡(jiǎn)而言之,就是在代碼中插下標(biāo)注,在代碼運(yùn)行后通過(guò)算開(kāi)始節(jié)點(diǎn)TimeStart和結(jié)束節(jié)點(diǎn)T
    發(fā)表于 02-28 06:23

    迅為iTOP-RK3568開(kāi)發(fā)板Sobel 算子邊緣檢測(cè)

    本小節(jié)代碼在配套資料“iTOP-3568 開(kāi)發(fā)板\\\\03_【iTOP-RK3568 開(kāi)發(fā)板】指南教程 \\\\04_OpenCV 開(kāi)發(fā)配套資料\\\\32”目錄下,如下圖所示: Sobel
    發(fā)表于 09-18 10:27

    sobel_FPGA l邊緣檢測(cè)

    sobel_FPGA l邊緣檢測(cè).源代碼
    發(fā)表于 05-03 16:42 ?9次下載

    sobel函數(shù)用法示例

    《OpenCV3編程入門(mén)》書(shū)本配套源代碼:sobel函數(shù)用法示例
    發(fā)表于 06-06 15:20 ?2次下載

    基于CORDIC的高速Sobel算法實(shí)現(xiàn)

    為提高圖像邊緣檢測(cè)的處理速度,提出一種基于CORDIC的高速Sobel算法實(shí)現(xiàn)
    的頭像 發(fā)表于 10-05 09:54 ?3459次閱讀
    基于CORDIC的高速<b class='flag-5'>Sobel</b>算法<b class='flag-5'>實(shí)現(xiàn)</b>

    淺述Sobel算子在HLS上的實(shí)現(xiàn)教程

    Sobel 原理介紹 索貝爾算子(Sobel operator)主要用作邊緣檢測(cè),在技術(shù)上,它是一離散性差分算子,用來(lái)運(yùn)算圖像亮度函數(shù)的灰度之近似值。在圖像的任何一點(diǎn)使用此算子,將會(huì)產(chǎn)生對(duì)應(yīng)的灰度
    的頭像 發(fā)表于 07-23 14:53 ?2118次閱讀
    淺述<b class='flag-5'>Sobel</b>算子在HLS上的<b class='flag-5'>實(shí)現(xiàn)</b>教程

    Sobel算子原理介紹與實(shí)現(xiàn)方法

    索貝爾算子(Sobel operator)主要用作邊緣檢測(cè),在技術(shù)上,它是一離散性差分算子,用來(lái)運(yùn)算圖像亮度函數(shù)的灰度之近似值。在圖像的任何一點(diǎn)使用此算子,將會(huì)產(chǎn)生對(duì)應(yīng)的灰度矢量或是其法矢量Sobel 卷積因子為:
    的頭像 發(fā)表于 07-21 17:27 ?1.2w次閱讀

    SpinalHDL里如何實(shí)現(xiàn)Sobel邊緣檢測(cè)

    書(shū)接上文,趁著今天休假,采用SpinalHDL做一個(gè)小的demo,看看在SpinalHDL里如何優(yōu)雅的實(shí)現(xiàn)Sobel邊緣檢測(cè)。
    的頭像 發(fā)表于 08-26 08:59 ?1173次閱讀

    圖像銳化的Sobel、Laplacian算子基礎(chǔ)知識(shí)介紹

    Sobel 算子是一種用于邊緣檢測(cè)的離散微分算子,它結(jié)合了高斯平滑和微分求導(dǎo)
    的頭像 發(fā)表于 09-13 09:52 ?1134次閱讀
    圖像銳化的<b class='flag-5'>Sobel</b>、Laplacian算子基礎(chǔ)知識(shí)介紹