先讀為快,以結(jié)果為導(dǎo)向,本期介紹Canny圖像算法仿真驗(yàn)證,后續(xù)將介紹canny算法原理與實(shí)現(xiàn),歡迎持續(xù)關(guān)注,公眾號(hào)設(shè)置星標(biāo),不錯(cuò)過每一次推送~
一、簡要說明
1.1 算法流程
Canny邊緣檢測(cè)是一種非常流行的邊緣檢測(cè)算法,是John Canny在1986年提出的。它是一個(gè)多階段的算法,即由多個(gè)步驟構(gòu)成:圖像降噪、計(jì)算圖像梯度、非極大值抑制。
第一步,圖像降噪。我們知道梯度算子可以用于增強(qiáng)圖像,本質(zhì)上是通過增強(qiáng)邊緣輪廓來實(shí)現(xiàn)的,也就是說是可以檢測(cè)到邊緣的。但是,它們受噪聲的影響都很大。那么,我們第一步就是想到要先去除噪聲,因?yàn)樵肼暰褪腔叶茸兓艽蟮牡胤?,所以容易被識(shí)別為偽邊緣。
第二步,計(jì)算圖像梯度,得到可能邊緣。我們?cè)谇懊娴年P(guān)于《圖像梯度》文章中有所介紹,計(jì)算圖像梯度能夠得到圖像的邊緣,因?yàn)樘荻仁腔叶茸兓黠@的地方,而邊緣也是灰度變化明顯的地方。當(dāng)然這一步只能得到可能的邊緣。因?yàn)榛叶茸兓牡胤娇赡苁沁吘墸部赡懿皇沁吘?。這一步就有了所有可能是邊緣的集合。
第三步,非極大值抑制。通常灰度變化的地方都比較集中,將局部范圍內(nèi)的梯度方向上,灰度變化最大的保留下來,其它的不保留,這樣可以剔除掉一大部分的點(diǎn)。將有多個(gè)像素寬的邊緣變成一個(gè)單像素寬的邊緣。即“胖邊緣”變成“瘦邊緣”。
第四步,雙閾值篩選。通過非極大值抑制后,仍然有很多的可能邊緣點(diǎn),進(jìn)一步的設(shè)置一個(gè)雙閾值,即低閾值(low),高閾值(high)?;叶茸兓笥趆igh的,設(shè)置為強(qiáng)邊緣像素,低于low的,剔除。在low和high之間的設(shè)置為弱邊緣。進(jìn)一步判斷,如果其領(lǐng)域內(nèi)有強(qiáng)邊緣像素,保留,如果沒有,剔除。
這樣做的目的是只保留強(qiáng)邊緣輪廓的話,有些邊緣可能不閉合,需要從滿足low和high之間的點(diǎn)進(jìn)行補(bǔ)充,使得邊緣盡可能的閉合。
參考文章:https://blog.csdn.net/likezhaobin/article/details/6892176
1.2 驗(yàn)證流程:
搭建一個(gè)視頻流Modelsim仿真,在基于FPGA視頻圖像算法開發(fā)過程中,最終目的是為了把攝像頭實(shí)時(shí)視頻數(shù)據(jù)經(jīng)過一系列的圖像算法,通過顯示設(shè)備顯示出來;在開發(fā)過程中,我們不能總是在FPGA板子上在線調(diào)試,一個(gè)是耗時(shí)時(shí)間長;另一個(gè)是不容易找出錯(cuò)誤,因此,有必要模擬一個(gè)視頻時(shí)序,用來驗(yàn)證算法,并有效的利用Matlab工具把靜態(tài)圖片“打散”保存到txt文本里,供Modesim讀取,然后通過Matalb“復(fù)現(xiàn)”處理后的文本。
二、操作步驟
第一步:獲取圖像
截取len圖片,格式為bmp
這里使用上張len圖設(shè)置了一種分辨率 640X480,如果不是,這里可用畫圖軟件打開圖片可以修改分辨率。
第二步:Matlab產(chǎn)成圖像
my_image_gen.m 讀取的len.bmp的彩色圖像,matlab運(yùn)行后,將使用matlab函數(shù)灰度化的灰度圖像數(shù)據(jù)寫進(jìn),image_data.txt。
第三步:Modelsim仿真路徑設(shè)置
仿真工程打開的正確方式:
方法1:保證仿真工程正常打開,解壓后文件需要 放在新建和原路徑一樣的路徑。
方法2:不需要新建相同路徑,需要文本打開并修改仿真工程里的 *.mpf 絕對(duì)路徑。
方法3:使用自動(dòng)仿真腳本。
第四步:開始仿真
1) 打開modelsim 仿真工程,找到work
2)然后找到tb_image_canny功程名,右鍵 simmulate 到仿真頁面
3)最后點(diǎn)擊黃色按鍵,全速仿真,結(jié)束會(huì)自動(dòng)停止。
第五步:matlab 查看圖像
上一步仿真結(jié)果會(huì)出現(xiàn)三個(gè)txt文件:canny_data.txt 、Gs_data_out.txt、sobel_data_out.txt
直接運(yùn)行my_image_show.m 即可
責(zé)任編輯:haq
-
仿真
+關(guān)注
關(guān)注
50文章
4070瀏覽量
133552 -
圖像
+關(guān)注
關(guān)注
2文章
1083瀏覽量
40449 -
Verilog
+關(guān)注
關(guān)注
28文章
1351瀏覽量
110074
原文標(biāo)題:基于Verilog的Canny圖像算法仿真
文章出處:【微信號(hào):FPGA_Study,微信公眾號(hào):FPGA自習(xí)室】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論