RM新时代网站-首页

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

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

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

Canny圖像算法仿真驗(yàn)證原理與實(shí)現(xiàn)

FPGA自習(xí)室 ? 來源:FPGA自習(xí)室 ? 作者:FPGA自習(xí)室 ? 2021-10-15 09:10 ? 次閱讀

先讀為快,以結(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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    利用VLIB在TMS320C64x/64x+上實(shí)現(xiàn)Canny邊緣檢測(cè)

    電子發(fā)燒友網(wǎng)站提供《利用VLIB在TMS320C64x/64x+上實(shí)現(xiàn)Canny邊緣檢測(cè).pdf》資料免費(fèi)下載
    發(fā)表于 10-14 11:13 ?0次下載
    利用VLIB在TMS320C64x/64x+上<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>Canny</b>邊緣檢測(cè)

    DSP國產(chǎn)教學(xué)實(shí)驗(yàn)箱_實(shí)驗(yàn)案例_操作教程:5-11 邊緣檢測(cè)

    一、實(shí)驗(yàn)?zāi)康?學(xué)習(xí)Canny邊緣檢測(cè)的原理,掌握圖像的讀取方法,并實(shí)現(xiàn)邊緣檢測(cè)。 二、實(shí)驗(yàn)原理 邊緣檢測(cè) 在數(shù)字圖像中,邊緣是指圖像局部變化
    發(fā)表于 07-19 10:38

    圖像識(shí)別算法有哪幾種

    圖像識(shí)別算法是計(jì)算機(jī)視覺領(lǐng)域的核心技術(shù)之一,它通過分析和處理圖像數(shù)據(jù),實(shí)現(xiàn)對(duì)圖像中的目標(biāo)、場景和物體的識(shí)別和分類。
    的頭像 發(fā)表于 07-16 11:22 ?1049次閱讀

    圖像識(shí)別算法都有哪些方法

    圖像識(shí)別算法是計(jì)算機(jī)視覺領(lǐng)域的核心任務(wù)之一,它涉及到從圖像中提取特征并進(jìn)行分類、識(shí)別和分析的過程。隨著深度學(xué)習(xí)技術(shù)的不斷發(fā)展,圖像識(shí)別算法
    的頭像 發(fā)表于 07-16 11:14 ?5504次閱讀

    圖像識(shí)別算法的提升有哪些

    引言 圖像識(shí)別是計(jì)算機(jī)視覺領(lǐng)域的核心任務(wù)之一,旨在使計(jì)算機(jī)能夠自動(dòng)地識(shí)別和理解圖像中的內(nèi)容。隨著計(jì)算機(jī)硬件的發(fā)展和深度學(xué)習(xí)技術(shù)的突破,圖像識(shí)別算法的性能得到了顯著提升。本文將介紹
    的頭像 發(fā)表于 07-16 11:12 ?638次閱讀

    圖像識(shí)別算法的優(yōu)缺點(diǎn)有哪些

    圖像識(shí)別算法是一種利用計(jì)算機(jī)視覺技術(shù)對(duì)圖像進(jìn)行分析和理解的方法,它在許多領(lǐng)域都有廣泛的應(yīng)用,如自動(dòng)駕駛、醫(yī)療診斷、安全監(jiān)控等。然而,圖像識(shí)別算法
    的頭像 發(fā)表于 07-16 11:09 ?1542次閱讀

    圖像識(shí)別算法的核心技術(shù)是什么

    圖像識(shí)別算法是計(jì)算機(jī)視覺領(lǐng)域的一個(gè)重要研究方向,其目標(biāo)是使計(jì)算機(jī)能夠像人類一樣理解和識(shí)別圖像中的內(nèi)容。圖像識(shí)別算法的核心技術(shù)包括以下幾個(gè)方面
    的頭像 發(fā)表于 07-16 11:02 ?623次閱讀

    opencv圖像識(shí)別有什么算法

    圖像識(shí)別算法: 邊緣檢測(cè) :邊緣檢測(cè)是圖像識(shí)別中的基本步驟之一,用于識(shí)別圖像中的邊緣。常見的邊緣檢測(cè)算法
    的頭像 發(fā)表于 07-16 10:40 ?1003次閱讀

    基于FPGA的實(shí)時(shí)邊緣檢測(cè)系統(tǒng)設(shè)計(jì),Sobel圖像邊緣檢測(cè),F(xiàn)PGA圖像處理

    計(jì)算機(jī)軟件實(shí)現(xiàn)方式有更快的處理速度。 經(jīng)驗(yàn)證,系統(tǒng)工作穩(wěn)定,滿足實(shí)時(shí)性要求 。 MATLAB 與 FPGA無線通信、圖像處理、數(shù)字信號(hào)處理系列 引言 圖像的邊緣包含一副
    發(fā)表于 05-24 07:45

    FPGA設(shè)計(jì)中 Verilog HDL實(shí)現(xiàn)基本的圖像濾波處理仿真

    今天給大俠帶來FPGA設(shè)計(jì)中用Verilog HDL實(shí)現(xiàn)基本的圖像濾波處理仿真,話不多說,上貨。 1、用matlab代碼,準(zhǔn)備好把圖片轉(zhuǎn)化成Vivado Simulator識(shí)別的格式,即每行一
    發(fā)表于 05-20 16:44

    K折交叉驗(yàn)證算法與訓(xùn)練集

    K折交叉驗(yàn)證算法與訓(xùn)練集
    的頭像 發(fā)表于 05-15 09:26 ?546次閱讀

    基于FPGA的常見的圖像算法模塊總結(jié)

    意在給大家補(bǔ)充一下基于FPGA的圖像算法基礎(chǔ),于是講解了一下常見的圖像算法模塊,經(jīng)過個(gè)人的總結(jié),將知識(shí)點(diǎn)分布如下所示。
    的頭像 發(fā)表于 04-28 11:45 ?588次閱讀
    基于FPGA的常見的<b class='flag-5'>圖像</b><b class='flag-5'>算法</b>模塊總結(jié)

    fpga原型驗(yàn)證平臺(tái)與硬件仿真器的區(qū)別

    FPGA原型驗(yàn)證平臺(tái)與硬件仿真器在芯片設(shè)計(jì)和驗(yàn)證過程中各自發(fā)揮著獨(dú)特的作用,它們之間存在明顯的區(qū)別。
    的頭像 發(fā)表于 03-15 15:07 ?1106次閱讀

    FPGA圖像處理之CLAHE算法

    在FPGA圖像處理--CLAHE算法(一)中介紹了為啥要用CLAHE算法來做圖像增強(qiáng)。
    的頭像 發(fā)表于 01-04 12:23 ?2506次閱讀
    FPGA<b class='flag-5'>圖像</b>處理之CLAHE<b class='flag-5'>算法</b>

    數(shù)字電路設(shè)計(jì)有哪些仿真驗(yàn)證流程

    數(shù)字電路設(shè)計(jì)的仿真驗(yàn)證流程是確保設(shè)計(jì)能夠正確運(yùn)行的重要步驟之一。在現(xiàn)代電子設(shè)備中,數(shù)字電路被廣泛應(yīng)用于各種應(yīng)用領(lǐng)域,如計(jì)算機(jī)、通信設(shè)備、汽車電子等等。因此,設(shè)計(jì)師必須通過仿真驗(yàn)證來確保
    的頭像 發(fā)表于 01-02 17:00 ?1600次閱讀
    RM新时代网站-首页