【基于FPGA的圖像處理工程】邊緣檢測(cè)工程之灰度轉(zhuǎn)換模塊代碼解析
【基于FPGA的圖像處理工程】
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ??——邊緣檢測(cè)工程:灰度轉(zhuǎn)換模塊代碼解析
本文為明德?lián)P原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處!
灰度轉(zhuǎn)換模塊的功能:該模塊將接收到的RGB數(shù)據(jù)經(jīng)過(guò)灰度轉(zhuǎn)換公式計(jì)算,輸出灰度數(shù)據(jù)給下一個(gè)模塊。
一、設(shè)計(jì)架構(gòu)
RGB圖像轉(zhuǎn)換成灰度圖像的公式為:Gray = (red * 70 + green * 150 + bule *30)>>8
公式中的RGB是888格式,即R、G、B均用8比特表示。注意,本模塊輸入的是565格式,即R、G、B分別是5、6、5表示。
RGB565轉(zhuǎn)成RGB888的方法,只要后面補(bǔ)0或者低位即可。例如R后面補(bǔ)3個(gè)0。

如上圖,第1個(gè)像素進(jìn)來(lái)的din為16’h0001,即R=5’b00000,G=6’b000000,B=5’b00001。
改為RGB888格式后,R=8’b00000000,G=8b’00000000,B=8’b00001000
如上圖,第2個(gè)像素進(jìn)來(lái)的din為16’h0203,即R=5’b00000,G=6’b001010,B=5’b00011。
改為RGB888格式后,R=8’b00000000,G=8’b00001010,B=8’b00000011。
二、信號(hào)的意義

三、參考代碼
下面展出本模塊的設(shè)計(jì),歡迎進(jìn)一步交流,如果需要源代碼,歡迎與本人聯(lián)系。

明德?lián)P專(zhuān)注FPGA研究,我司正在連載兩本書(shū)籍:《基于FPGA至簡(jiǎn)設(shè)計(jì)法實(shí)現(xiàn)的圖像邊緣檢測(cè)系統(tǒng)》(http://www.fpgabbs.cn/forum.php?mod=viewthread&tid=691)、《ASIC和FPGA時(shí)序約束理論與應(yīng)用》(http://www.fpgabbs.cn/forum.php?mod=viewthread&tid=705),有興趣點(diǎn)擊閱讀。