本原創(chuàng)教程由芯驛電子科技(上海)有限公司(ALINX)創(chuàng)作,版權(quán)歸本公司所有,如需轉(zhuǎn)載,需授權(quán)并注明出處(http://www.alinx.com)。
適用于板卡型號:
PGL22G/PGL12G
1. 實(shí)驗(yàn)簡介
本實(shí)驗(yàn)將在例程“OV5640攝像頭HDMI顯示例程”的基礎(chǔ)上實(shí)現(xiàn)視頻圖像邊緣檢測的實(shí)驗(yàn)。在很多應(yīng)用場合,我們只需要采集到圖像的棱廓特征的信息,而不需要全部的視頻圖像,這樣就需要用到SOBEL邊緣檢測的算法。
2. 實(shí)驗(yàn)原理
2.1邊緣檢測原理和算法
邊緣是圖像最基本的特征,其在計(jì)算機(jī)視覺、圖像分析等應(yīng)用中起著重要的作用,這是因?yàn)閳D像的邊緣包含了用于識別的有用信息,是圖像分析和模式識別的主要特征提取手段。
在圖像中,“邊緣”指的是臨界的意思。一幅圖像的“臨界”表示為圖像上亮度顯著變化的地方,邊緣指的是一個(gè)區(qū)域的結(jié)束,也是另一個(gè)區(qū)域的開始?!斑吘夵c(diǎn)”指的是圖像中具有坐標(biāo)[x,y],且處在強(qiáng)度顯著變化的位置上的點(diǎn)。
常用的邊緣檢測算法大多是以原始圖像灰度值為基礎(chǔ),通過考察圖像的每個(gè)像素的某個(gè)鄰域內(nèi)灰度的變化,利用邊緣一階或二階導(dǎo)數(shù)的規(guī)律來檢測邊緣。下圖左邊為原始的黑白灰度的圖像,通過邊緣檢測算法后變成了右邊的圖像。
實(shí)現(xiàn)邊緣檢測有很多不同的方法,也一直是圖像處理中的研究熱點(diǎn),人們期望找到一種抗噪強(qiáng)、定位準(zhǔn)、不漏檢、不誤檢的檢測算法。其中Sobel算子效果較好,邊緣檢測算法比較簡單,實(shí)際應(yīng)用中效率比canny邊緣檢測效率要高,但是邊緣不如Canny檢測的準(zhǔn)確,但是很多實(shí)際應(yīng)用的場合,sobel邊緣卻是首選,尤其是對效率要求較高,而對細(xì)紋理不太關(guān)心的時(shí)候。本實(shí)驗(yàn)就采用Sobel的算法來實(shí)現(xiàn)視頻圖像的邊緣檢測。
2.2 sobel簡介
sobel是一個(gè)梯度的計(jì)算,如下圖所示,是x和y方向的3x3窗口的卷積。

梯度計(jì)算公式

,簡化的近似計(jì)算

對于圖像,如下圖:P1到P9為3x3的9個(gè)像素點(diǎn),簡化公式計(jì)算:

3x3圖像窗口
為了進(jìn)一步簡化計(jì)算,我們把算子進(jìn)行簡化,調(diào)整為如下所示

3. 程序設(shè)計(jì)
本實(shí)驗(yàn)的重點(diǎn)是sobel算法的實(shí)現(xiàn),首先需要一個(gè)3x3的像素窗口,本實(shí)驗(yàn)利用xilinx提供的VHDL程序,做了一個(gè)3行的圖像緩存,這樣就可以輕松實(shí)現(xiàn)3x3的窗口。
然后按照簡化公式,采用絕對值的方式計(jì)算sobel。
always@(posedgepclk)begin
x1<={2'b00,p11}+{2'b00,p31}+{1'b0,p21,1'b0};
x3?<={2'b00,p13}+{2'b00,p33}+{1'b0,p23,1'b0};
y1?<={2'b00,p11}+{2'b00,p13}+{1'b0,p12,1'b0};
y3?<={2'b00,p31}+{2'b00,p33}+{1'b0,p32,1'b0};endalways@(posedge?pclk)begin
abs_x?<=(x1?>x3)?x1-x3:x3-x1;
abs_y<=(y1?>y3)?y1-y3:y3-y1;
abs_g<=?abs_x?+?abs_y;end
計(jì)算完成以后,要進(jìn)行簡單的二值化處理,將sobel值和閾值對比,產(chǎn)生黑白的二值化圖像。
always@(posedgepclk)begin data_out<=(abs_g?>threshold)?8'h00:8'hff;end
4. 實(shí)驗(yàn)現(xiàn)象
1)將攝像頭模塊插入開發(fā)板,保證1腳對齊,1腳在焊盤形狀和其他引腳是有明顯區(qū)別的,是方形的。
OV5640攝像頭模塊連接開發(fā)板連接圖
2)連接好HDMI顯示器。
3)下載實(shí)驗(yàn)程序,可以看到只有邊沿信息的黑白視頻輸出。注意:ov5640模塊焦距是可調(diào)的,如果焦距不合適,圖像會模糊,旋轉(zhuǎn)鏡頭,可以調(diào)節(jié)焦距。攝像頭模塊要輕拿輕放,不要用手觸摸元器件。
-
FPGA
+關(guān)注
關(guān)注
1660文章
22410瀏覽量
636273 -
算法
+關(guān)注
關(guān)注
23文章
4784瀏覽量
98044 -
邊緣檢測
+關(guān)注
關(guān)注
0文章
94瀏覽量
18673 -
sobel
+關(guān)注
關(guān)注
0文章
12瀏覽量
8210 -
紫光同創(chuàng)
+關(guān)注
關(guān)注
6文章
136瀏覽量
29419
發(fā)布評論請先 登錄
2024新品|紫光同創(chuàng)盤古系列FPGA開發(fā)板套件,100%國產(chǎn)化方案
國產(chǎn)FPGA介紹-紫光同創(chuàng)
基于FPGA的實(shí)時(shí)邊緣檢測系統(tǒng)設(shè)計(jì),Sobel圖像邊緣檢測,FPGA圖像處理
【國產(chǎn)FPGA必備教程】——紫光同創(chuàng)FPGA圖像視頻教程,適用于小眼睛FPGA盤古全系列開發(fā)板
基于FPGA的Sobel邊緣檢測的實(shí)現(xiàn)
基于FPGA的邊緣檢測和Sobel算法
紫光同創(chuàng)簡介
基于紫光同創(chuàng)FPGA的多路視頻采集與AI輕量化加速的實(shí)時(shí)目標(biāo)檢測系統(tǒng)
紫光同創(chuàng)FPGA開發(fā)套件,高性能國產(chǎn)FPGA方案
第十六講 編碼器
單片機(jī)c語言教程第十六章--C51指針的使用
【紫光同創(chuàng)國產(chǎn)FPGA教程】【第十六章】SOBEL邊緣檢測例程
評論