国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于QT的數(shù)字圖像的灰度化處理程序設(shè)計(jì)

2015-05-30 03:41趙之源
決策與信息·中旬刊 2015年8期
關(guān)鍵詞:數(shù)字圖像

趙之源

[摘要]介紹了使用QT對(duì)BMP圖像進(jìn)行灰度化處理的相關(guān)概念和方法。根據(jù)BMP格式圖像的格式類(lèi)型和存儲(chǔ)原理,介紹對(duì)BMP格式圖像進(jìn)行讀取和寫(xiě)入方法,并在此基礎(chǔ)上介紹了對(duì)BMP圖片進(jìn)行灰度化的方法。

[關(guān)鍵詞]數(shù)字圖像;灰度化處理;QT;C++;位圖

大家生活中很多情況下需要將一張彩色的圖片轉(zhuǎn)變成黑白的圖片,也就是灰度圖,但是大部分人都是直接使用PS或美圖秀秀這些圖片處理的軟件進(jìn)行,而對(duì)圖片灰度化的過(guò)程不是十分了解甚至一無(wú)所知。很多時(shí)候我們需要把彩色圖像轉(zhuǎn)換為黑白圖像然后進(jìn)行相關(guān)的計(jì)算等。而QT的界面設(shè)計(jì)使得開(kāi)發(fā)帶界面的軟件更為方便,且可用C++語(yǔ)言編寫(xiě),運(yùn)行效率高,執(zhí)行速度快,適合圖像處理。因此用QT開(kāi)發(fā)一款圖像灰度化的處理程序十分方便也能幫助我們理解灰度化的原理和過(guò)程。

1、灰度化原理

生活中,我們見(jiàn)到的大部分物品都是彩色的,我們生活在一個(gè)五顏六色的世界中,我們通常用來(lái)描述一個(gè)物體的顏色的諸如赤、橙、黃、綠、青、藍(lán)、紫這些顏色名詞有很多,但是即使是這樣,仍然不能涵蓋自然界的所有顏色或者說(shuō)即使用這些詞來(lái)描述一個(gè)物體的顏色仍舊不能描述得很準(zhǔn)確。其實(shí)每一種復(fù)雜的顏色都是可以用紅綠藍(lán)這三種顏色按照不同的比例調(diào)配出來(lái)的,所以不同的顏色種類(lèi)根據(jù)三種顏色所占比例的不同是不同的,數(shù)量是非常大的。

同樣,不同的色光還有不同的亮度,同樣是紅色,有的比較亮,有的比較暗。由此可見(jiàn),顏色是無(wú)窮無(wú)盡的,那黑白圖像又是怎么一回事呢?圖像的灰度化的原理又是什么呢。

其實(shí)圖像灰度化就是根據(jù)公示計(jì)算出每個(gè)像素點(diǎn)的亮度,從而直接用亮度來(lái)表示圖片,而不是用以前的R(紅)、G(綠)、B(藍(lán))值。計(jì)算公示如下:

這是一個(gè)矩陣計(jì)算公示,公式中的Y就是亮度值,實(shí)際上就是通過(guò)原像素點(diǎn)的紅綠藍(lán)的值計(jì)算出亮度值。通?;叶葓D的數(shù)據(jù)用8位進(jìn)行存儲(chǔ),這樣的圖片灰度有256級(jí),也就是說(shuō)這種灰度化的圖片中包含256中不同亮度的像素點(diǎn),255是白色,0是黑色,中間是不同程度的灰色。

而對(duì)于不同位數(shù)的BMP圖像的灰度化過(guò)程也是不同的。

對(duì)于24位的BMP圖像只需要通過(guò)公式 Y=0.299R+0.587G+0.144B計(jì)算出各像素點(diǎn)的亮度值,然后將亮度值附給該點(diǎn)的RGB值即R=B=G=Y就行了。

而對(duì)于其他位數(shù)的灰度化也有兩種方法。如對(duì)于8位的BMP圖像

Ⅰ.獲取第一個(gè)顏色表項(xiàng)中的RGB值,然后利用公式Y(jié)=0.299R+0.587G+0.144B計(jì)算出該顏色的亮度值Y,并令該顏色表項(xiàng)的RGB值都等于此亮度值Y。同理,再完成對(duì)剩余所有顏色表項(xiàng)的處理,便可實(shí)現(xiàn)灰度化。

Ⅱ.在8位BMP文件的位圖數(shù)據(jù)中,首先獲取任意第i行,第j列像素點(diǎn)的顏色表索引值index,根據(jù)該索引值找到與其對(duì)應(yīng)的顏色表項(xiàng)color[index],并獲取該顏色表項(xiàng)的RGB值,然后利用公式Y(jié)=0.299R+0.587G+0.144B計(jì)算出該顏色的亮度值Y,再令index=Y;在完成上述處理之后,再對(duì)顏色表項(xiàng)按順序灰度化,即color[index]的R=G=B=index。至此,8位BMP文件的位圖數(shù)據(jù)就表示每個(gè)像素真實(shí)的亮度值。這里介紹的示例程序采用上述方法ii實(shí)現(xiàn)灰度化。

2、程序設(shè)計(jì)步驟

程序是基于QT設(shè)計(jì)的,使用C++編程語(yǔ)言,所以設(shè)計(jì)過(guò)程包括界面設(shè)計(jì)和程序設(shè)計(jì)思路。

2.1程序界面設(shè)計(jì)

程序需要用戶(hù)輸入數(shù)據(jù),故設(shè)計(jì)用戶(hù)數(shù)據(jù)接口即可。

2.2程序流程設(shè)計(jì)

程序設(shè)計(jì)的實(shí)現(xiàn)過(guò)程為:

(1)讀取BMP文件的文件頭、信息頭、顏色表、像素點(diǎn)數(shù)據(jù)等位圖數(shù)據(jù)。

其中QT中封裝的獲得文件名代碼如下:

namebmp=QFileDialog::getOpenFileName(this,"打開(kāi)bmp文件","/","files(*.bmp)");//獲得bmp文件名

(2)根據(jù)灰度化原理進(jìn)行處理,

對(duì)8比特的BMP圖片進(jìn)行灰度化的代碼如下:

for(inti=0;i{

for(intj=0;j

猜你喜歡
數(shù)字圖像
數(shù)字圖像水印技術(shù)綜述
數(shù)字圖像水印技術(shù)綜述
數(shù)字圖像相關(guān)法在地下管廊施工監(jiān)測(cè)中的應(yīng)用
數(shù)字圖像相關(guān)中非迭代相關(guān)系數(shù)曲面擬合算法的研究
ARGUS-100 藝術(shù)品鑒證數(shù)字圖像比對(duì)系統(tǒng)
基于變分水平集方法的數(shù)字圖像分割研究
淺談數(shù)字圖像技術(shù)在電視節(jié)目后期制作中的應(yīng)用
基于塊效應(yīng)測(cè)度的JPEG數(shù)字圖像盲取證
數(shù)字圖像修補(bǔ)技術(shù)的研究進(jìn)展與前景展望
數(shù)字圖像相關(guān)法中的優(yōu)化插值濾波器