一.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
+關注
關注
1630文章
21766瀏覽量
604598 -
sobel
+關注
關注
0文章
12瀏覽量
7918
原文標題:FPGA實現Sobel邊緣檢測
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
基于FPGA的Sobel邊緣檢測工作原理
Sobel 邊緣檢測的工作原理是檢測圖像在水平和垂直方向上的梯度變化。為此,將兩個卷積濾波器應用于原始圖像,然后組合這些卷積濾波器的結果以確定梯度的大小。
發表于 12-14 11:34
?1451次閱讀
基于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邊緣檢測。
評論