新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于DSP和FPGA的機器視覺系統(tǒng)設(shè)計與實現(xiàn)

基于DSP和FPGA的機器視覺系統(tǒng)設(shè)計與實現(xiàn)

作者: 時間:2013-12-21 來源:網(wǎng)絡(luò) 收藏
層設(shè)備使用BROADCOM公司的BCM5221,加Pulse公司的1:1型隔離變壓器H1102。

  網(wǎng)絡(luò)圖像及控制信息的傳輸采用非面向連接的UDP協(xié)議,對于480*480大小的8位灰度的圖像,每秒可傳送20幅。

  2.5 IO模塊與串行接口模塊

  IO接口由控制,用于向機械部分、自動控制部分發(fā)送控制信號,并行IO接口有兩路,一路經(jīng)LV162245驅(qū)動輸出,一路經(jīng)光耦進行隔離輸出。

  串行接口使用TI公司的TL16C752B UART,他與ST16C550 UART引腳兼容,并具有更大的發(fā)送、接收FIFO緩存(發(fā)送、接收各64Byte ),支持硬件、軟件流量控制。電平轉(zhuǎn)換采用MAXIM公司的MAX3160,RS-232、RS-485、RS-422等多種傳輸協(xié)議。

  3、實現(xiàn)圖像預(yù)處理算法

  以實現(xiàn)3*3 Sobel邊緣檢測為例,介紹FPGA實現(xiàn)圖像預(yù)處理的方法。

  首先,應(yīng)從視頻信號中提取出3*3 大小的圖像框。須使用三個FIFO,其大小與一行像素大小相同,將三個FIFO串行連接在一起。用視頻信號的前三行充滿三個FIFO,之后每來一個像素在寫入FIFO的同時,從每個FIFO中讀出一個像素的亮度值,分別放入三個移位寄存器。如此,在三個像素點之后就得到一個3*3的矩形框。隨著視頻信號的不斷流入,矩形框?qū)⒈闅v整個圖像區(qū)域。

  之后,就可以對提取出來的像素點,進行各種算法的處理。

  以下是用Verilog語言描述的3*3 Sobel算子:

  wire[10:0] temp1,temp2,temp3,temp4;

  wire[7:0] sobel1,sobel2,sobel3,sobel4;

  wire[7:0] dataout;

  assign temp1 = temp[1] + temp[2] + temp[3];

  assign temp2 = temp[7] + temp[8] + temp[9];

  assign temp3 = temp[1] + temp[4] + temp[7];

  assign temp4 = temp[3] + temp[6] + temp[9];

  assign sobel1 = (temp1>temp2)?(temp1-temp2):0 ;

  assign sobel2 = (temp3>temp4)?(temp3-temp4):0 ;

  assign sobel3 = (sobel1>8’d 255) ? 8’d255 : sobel1;

  assign sobel4 = (sobel2>8’d 255) ? 8’d255 : sobel2;

  assign dataout[7:0] = ((sobel3 > sobel4)?sobel3[7:0]:sobel4[7:0]);

fpga相關(guān)文章:fpga是什么




關(guān)鍵詞: DSP FPGA 機器視覺

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉