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

梯度計(jì)算公式

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

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


為了進(jìn)一步簡(jiǎn)化計(jì)算,我們把算子進(jìn)行簡(jiǎ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的窗口。
然后按照簡(jiǎn)化公式,采用絕對(duì)值的方式計(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)行簡(jiǎn)單的二值化處理,將sobel值和閾值對(duì)比,產(chǎn)生黑白的二值化圖像。
always@(posedgepclk)begin data_out<=(abs_g?>threshold)?8'h00:8'hff;end
4. 實(shí)驗(yàn)現(xiàn)象
1)將攝像頭模塊插入開(kāi)發(fā)板,保證1腳對(duì)齊,1腳在焊盤(pán)形狀和其他引腳是有明顯區(qū)別的,是方形的。
OV5640攝像頭模塊連接開(kāi)發(fā)板連接圖
2)連接好HDMI顯示器。
3)下載實(shí)驗(yàn)程序,可以看到只有邊沿信息的黑白視頻輸出。注意:ov5640模塊焦距是可調(diào)的,如果焦距不合適,圖像會(huì)模糊,旋轉(zhuǎn)鏡頭,可以調(diào)節(jié)焦距。攝像頭模塊要輕拿輕放,不要用手觸摸元器件。
-
FPGA
+關(guān)注
關(guān)注
1645文章
22050瀏覽量
618415 -
算法
+關(guān)注
關(guān)注
23文章
4710瀏覽量
95380 -
邊緣檢測(cè)
+關(guān)注
關(guān)注
0文章
94瀏覽量
18419 -
sobel
+關(guān)注
關(guān)注
0文章
12瀏覽量
8064 -
紫光同創(chuàng)
+關(guān)注
關(guān)注
5文章
101瀏覽量
27978
發(fā)布評(píng)論請(qǐng)先 登錄
2024新品|紫光同創(chuàng)盤(pán)古系列FPGA開(kāi)發(fā)板套件,100%國(guó)產(chǎn)化方案
國(guó)產(chǎn)FPGA介紹-紫光同創(chuàng)
紫光同創(chuàng)FPGA有哪些型號(hào)
基于FPGA的實(shí)時(shí)邊緣檢測(cè)系統(tǒng)設(shè)計(jì),Sobel圖像邊緣檢測(cè),FPGA圖像處理
【國(guó)產(chǎn)FPGA必備教程】——紫光同創(chuàng)FPGA圖像視頻教程,適用于小眼睛FPGA盤(pán)古全系列開(kāi)發(fā)板
基于FPGA的Sobel邊緣檢測(cè)的實(shí)現(xiàn)
基于FPGA的邊緣檢測(cè)和Sobel算法
紫光同創(chuàng)簡(jiǎn)介
基于紫光同創(chuàng)FPGA的多路視頻采集與AI輕量化加速的實(shí)時(shí)目標(biāo)檢測(cè)系統(tǒng)
紫光同創(chuàng)FPGA開(kāi)發(fā)套件,高性能國(guó)產(chǎn)FPGA方案
第十六講 編碼器

單片機(jī)c語(yǔ)言教程第十六章--C51指針的使用

評(píng)論