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

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

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

Simulink中搭建圖像的采集與輸出模型案例分析

電子設(shè)計(jì) ? 來(lái)源:CSDN博主 ? 作者:FPGADesigner的博客 ? 2020-12-30 12:06 ? 次閱讀

圖像屬于二維信號(hào),如果想在Simulink中采集和輸出圖像,進(jìn)行圖像處理算法仿真時(shí)會(huì)遇到一些問(wèn)題。本文將介紹如何搭建圖像的采集與輸出模型。

采集圖像需要解決的問(wèn)題

Computer Vision System Toolbox中包含兩個(gè)模塊:Image From File可以讀取圖片格式的文件;Video Viewer可以輸入圖像并顯示(類似于Scope觀察信號(hào)波形一樣)。

但是Image From File一次讀出的便是完整的圖片信息,是一個(gè)向量形式,而Gateway In只能接收標(biāo)量數(shù)據(jù)的輸入(即單個(gè)數(shù)據(jù))。如果將兩者直接相連,會(huì)出現(xiàn)如下錯(cuò)誤:

o4YBAF9uJ8yALKbbAAAeh1p1T0k389.jpg

Image From File讀取一個(gè)256*256大小的圖像,讀出數(shù)據(jù)為一個(gè)256*256*3的數(shù)據(jù)(RGB三個(gè)通道),這個(gè)數(shù)據(jù)不能直接輸入到FPGA中。我們需要利用Simulink提供的功能豐富的block完成數(shù)據(jù)之間的轉(zhuǎn)換。

圖像采集實(shí)現(xiàn)

在Simulink中添加block按下圖連接:

pIYBAF9uJ82Af2csAACjzx7xP6E012.jpg

下面以列表的形式給出每個(gè)block的作用(以讀取256*256的RGB圖像為例,工作空間中設(shè)置變量ImSize=256):

●Image From File:讀取圖像:

pIYBAF9uJ8-ANNrVAABmxdHyYhc641.jpg

“File name”設(shè)置圖片文件路徑;“Sample time”設(shè)置為ImSize*ImSize即只做一次完整的圖像采集;“Image signal”設(shè)置為Separate color signals可以獨(dú)立輸出圖像的R、G、B三個(gè)通道,每個(gè)通道都是256*256大小。

●Math Function:該block可以運(yùn)行一些基本的數(shù)學(xué)函數(shù)(如指數(shù)、對(duì)數(shù)、平方等),這里設(shè)置為Transpose,計(jì)算圖像的轉(zhuǎn)置矩陣。

●Convert 2-D to 1-D:該block可以將二維數(shù)組重新按一維數(shù)組的順序排列,從矩陣的列開始轉(zhuǎn)換,如下圖例子所示:

o4YBAF9uJ9CAQXOGAAAXCR5zktU768.jpg

由于圖像處理算法大多都是以行為單位,因此在前面加了一個(gè)Math Function模塊求轉(zhuǎn)置矩陣,這樣在轉(zhuǎn)換后的一維數(shù)組中便是按圖像的每一行依次排列。

●Frame Conversion和Unbuffer:這兩個(gè)block配合使用,將一維數(shù)組(向量)轉(zhuǎn)換為Gateway In可以接收的標(biāo)量形式。示例如下:

pIYBAF9uJ9GAXpKJAABCpa6w6BI714.jpg

Unbuffer將幀格式(frame)轉(zhuǎn)換為標(biāo)量數(shù)據(jù);Frame Conversion的作用便是將一維數(shù)組以幀格式采樣輸出,即將一副圖像共(256*256=)65536個(gè)數(shù)據(jù)打包為一幀,再由Unbuffer轉(zhuǎn)換為標(biāo)量。

●Data Type Conversion:目前的RGB圖像每個(gè)通道大多都是uint8格式,該模塊將數(shù)據(jù)格式轉(zhuǎn)換為uint8。

●Unit Delay:延時(shí)一個(gè)單位,數(shù)據(jù)緩存。

●Gateway In:讀取uint8格式的圖像數(shù)據(jù),數(shù)據(jù)格式設(shè)置為UFix_8_0。

圖像輸出實(shí)現(xiàn)

圖像輸出的流程恰好與圖像采集相反,是為了將FPGA處理后的標(biāo)量數(shù)據(jù)重新轉(zhuǎn)換組織成圖片的數(shù)組形式。在Simulink中添加block按下圖連接:

pIYBAF9uJ9OAQ8nQAACPtliK2T4136.jpg

下面以列表的形式給出每個(gè)block的作用(以輸出256*256的RGB圖像為例,工作空間中設(shè)置變量ImSize=256):

●Data Type Conversion:Simulink從Gateway Out讀出的數(shù)據(jù)會(huì)默認(rèn)轉(zhuǎn)換為double,這里加入該block將數(shù)據(jù)轉(zhuǎn)換為圖像的uint8格式。

●Buffer:與Unbuffer作用相反,將標(biāo)量數(shù)據(jù)重新組織為指定幀格式輸出。示例如下:

o4YBAF9uJ9SARIObAAApsH4BZW0360.jpg

雙擊配置該block,將“Output buffer size”設(shè)置為ImSize*ImSize,即每幅圖像的數(shù)據(jù)為一幀。

●Convert 1-D to 2-D:將一維數(shù)組重新整理為指定格式的二維數(shù)組,示例如下:

pIYBAF9uJ9WAIGQDAAA2H4aRJ2c179.jpg

雙擊配置該block,將“Number of output rows”和“Number of output columns”都設(shè)置為ImSize,即以256*256的格式輸出。

●Math Function:由上圖可知,整形為二維數(shù)組后,原本圖像的每一行數(shù)據(jù)變成了矩陣的每一列。因此需要加入此模塊再求一此轉(zhuǎn)置矩陣,得到原圖像的數(shù)據(jù)排列方式。

●Video Viewer:雙擊打開,點(diǎn)擊File->Image Signal->Separate Color Signals,即可分別輸入R、G、B三個(gè)通道的數(shù)據(jù)。

打包子系統(tǒng)

可以看到上面的整個(gè)模型已經(jīng)很龐大,因此將圖像采集部分和圖像輸出部分分別打包為子系統(tǒng)。選中對(duì)應(yīng)部分,右鍵->Create Subsystem from selection。代開子系統(tǒng),修改IN/OUT管腳的名稱為R、G、B。此時(shí)系統(tǒng)整體連接如下圖:

o4YBAF9uJ9aAdz7pAABRE-TNGP0799.jpg

在System Generator和Gateway In中將采樣時(shí)間設(shè)置為1S;Simulink仿真時(shí)長(zhǎng)設(shè)置為256*256,即保證采集完一幅圖像。再添加一個(gè)Video Viewer觀察原始圖片。運(yùn)行仿真,結(jié)果如下:

輸入與輸出圖片相同,表明結(jié)果正確。如果需要進(jìn)行數(shù)字圖像處理算法的仿真驗(yàn)證,在其中加入其它block實(shí)現(xiàn)算法即可。本系統(tǒng)實(shí)現(xiàn)了圖像的采集與輸出,使仿真時(shí)的結(jié)果更直觀,更容易觀察算法效果,大大提升了仿真效率。

編輯:hfy

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

    關(guān)注

    22

    文章

    520

    瀏覽量

    62191
  • 數(shù)字圖像處理
    +關(guān)注

    關(guān)注

    7

    文章

    103

    瀏覽量

    18896
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AI大模型圖像識(shí)別的優(yōu)勢(shì)

    模型借助高性能的計(jì)算硬件和優(yōu)化的算法,能夠在短時(shí)間內(nèi)完成對(duì)大量圖像數(shù)據(jù)的處理和分析,顯著提高了圖像識(shí)別的效率。 識(shí)別準(zhǔn)確性 :通過(guò)深度學(xué)習(xí)和計(jì)算機(jī)視覺技術(shù),AI大
    的頭像 發(fā)表于 10-23 15:01 ?150次閱讀

    用TINA如何搭建仿真模型?

    使用TINA仿真單極運(yùn)放的環(huán)路,仿真模型知道怎么搭建,現(xiàn)在要仿真由兩級(jí)TL082搭建的兩級(jí)運(yùn)放的環(huán)路穩(wěn)定性,請(qǐng)教,用TINA如何搭建仿真模型
    發(fā)表于 08-15 08:10

    拓?fù)淦璍LC諧振變換器仿真建模與控制策略分析

    我們采用MATLAB的可視化電路仿真軟件包 Simulink 進(jìn)行電路模型搭建Simulink 被廣泛應(yīng)用于線性系統(tǒng)、非線性系統(tǒng)、數(shù)字
    發(fā)表于 08-12 16:23

    拓?fù)淦璍LC諧振變換器仿真建模與控制策略分析

    副端輸出負(fù)載電阻與原端等效電阻。計(jì)算變壓器副端輸出負(fù)載電阻: 計(jì)算變壓器原端等效負(fù)載阻值: ④確定諧振電感和諧振電容: 二、電路仿真1、電路模型搭建目前,電路仿真軟件很多,本篇我們采用
    發(fā)表于 07-19 10:17

    在PyTorch搭建一個(gè)最簡(jiǎn)單的模型

    在PyTorch搭建一個(gè)最簡(jiǎn)單的模型通常涉及幾個(gè)關(guān)鍵步驟:定義模型結(jié)構(gòu)、加載數(shù)據(jù)、設(shè)置損失函數(shù)和優(yōu)化器,以及進(jìn)行模型訓(xùn)練和評(píng)估。
    的頭像 發(fā)表于 07-16 18:09 ?1531次閱讀

    圖像分割與語(yǔ)義分割的CNN模型綜述

    圖像分割與語(yǔ)義分割是計(jì)算機(jī)視覺領(lǐng)域的重要任務(wù),旨在將圖像劃分為多個(gè)具有特定語(yǔ)義含義的區(qū)域或?qū)ο蟆>矸e神經(jīng)網(wǎng)絡(luò)(CNN)作為深度學(xué)習(xí)的一種核心模型,在圖像分割與語(yǔ)義分割中發(fā)揮著至關(guān)重要的
    的頭像 發(fā)表于 07-09 11:51 ?505次閱讀

    使用PyTorch搭建Transformer模型

    Transformer模型自其問(wèn)世以來(lái),在自然語(yǔ)言處理(NLP)領(lǐng)域取得了巨大的成功,并成為了許多先進(jìn)模型(如BERT、GPT等)的基礎(chǔ)。本文將深入解讀如何使用PyTorch框架搭建Transformer
    的頭像 發(fā)表于 07-02 11:41 ?1323次閱讀

    求助,關(guān)于AD采集到的數(shù)據(jù)分析問(wèn)題

    的時(shí)候已經(jīng)知道采樣頻率,該頻率為定時(shí)器產(chǎn)生,精度應(yīng)該為單片機(jī)晶振的精度。 分析對(duì)象為一個(gè)數(shù)組,該數(shù)組存儲(chǔ)的值為AD采樣值,0到4095(12bit AD); 現(xiàn)狀:已經(jīng)能夠采集到一組數(shù)據(jù);放到
    發(fā)表于 05-09 07:40

    Vivado 使用Simulink設(shè)計(jì)FIR濾波器

    的快速進(jìn)位鏈,使實(shí)現(xiàn)變得容易。最后一拍數(shù)據(jù)直接使用的DSP的P端輸出。 4. 模型仿真 為設(shè)計(jì)好的模型增加一個(gè)頂層,添加兩個(gè)信號(hào)源作為仿真激勵(lì),使用兩個(gè)頻譜分析儀觀測(cè)結(jié)
    發(fā)表于 04-17 17:29

    機(jī)器視覺圖像采集卡的功能與應(yīng)用

    視覺系統(tǒng),圖像采集部分主要由工業(yè)相機(jī)、工業(yè)鏡頭以及光源組合而成,而圖像處理部分則是由圖像處理軟件來(lái)實(shí)現(xiàn)。
    的頭像 發(fā)表于 04-04 08:33 ?828次閱讀
    機(jī)器視覺<b class='flag-5'>中</b><b class='flag-5'>圖像</b><b class='flag-5'>采集</b>卡的功能與應(yīng)用

    電路仿真軟件simulink的工作原理

    Simulink是MATLAB的一個(gè)模塊,它采用圖形化的方式來(lái)創(chuàng)建動(dòng)態(tài)系統(tǒng)模型并進(jìn)行仿真分析Simulink的工作原理主要基于模塊化的建模和仿真方式。
    的頭像 發(fā)表于 03-29 15:21 ?1365次閱讀

    【技術(shù)課堂】拓?fù)淦璍C串聯(lián)諧振拓?fù)浞抡娼<翱刂撇呗?b class='flag-5'>分析

    ~ r~ =6.9μF。二、電路仿真01、電路模型搭建目前,電路仿真軟件很多,本次我們采用Matlab的可視化電路仿真軟件包 Simulink 進(jìn)行電路
    發(fā)表于 03-01 10:05

    PCIe圖像采集卡的原理、應(yīng)用和優(yōu)勢(shì)

    PCIe圖像采集卡的原理、應(yīng)用和優(yōu)勢(shì)? PCIe圖像采集卡是一種用于獲取和處理圖像信號(hào)的硬件設(shè)備。它通過(guò)PCI Express接口與計(jì)算機(jī)主
    的頭像 發(fā)表于 12-15 09:57 ?837次閱讀

    機(jī)器視覺采集圖像太暗時(shí)要如何增強(qiáng)圖像亮度?

    常需要采集圖像并根據(jù)圖像來(lái)進(jìn)行下一步進(jìn)程,如果采集圖像特別暗就不利于缺陷識(shí)別和檢測(cè),下面主要從工業(yè)相機(jī)、工業(yè)鏡頭、與光源三個(gè)方面來(lái)簡(jiǎn)述如何
    的頭像 發(fā)表于 12-15 08:36 ?747次閱讀
    機(jī)器視覺<b class='flag-5'>中</b><b class='flag-5'>采集</b>的<b class='flag-5'>圖像</b>太暗時(shí)要如何增強(qiáng)<b class='flag-5'>圖像</b>亮度?

    Simulink如何創(chuàng)建一個(gè)Publisher

    Home>Simulink來(lái)打開Simulink的起始頁(yè)。 2.在Simulink開始頁(yè),單擊空白模型創(chuàng)建并打開一個(gè)新的Simulink
    的頭像 發(fā)表于 11-15 17:32 ?540次閱讀
    <b class='flag-5'>Simulink</b><b class='flag-5'>中</b>如何創(chuàng)建一個(gè)Publisher