999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于QT的數字圖像的灰度化處理程序設計

2015-02-24 03:23:59趙之源
決策與信息 2015年23期
關鍵詞:設計

趙之源

北京郵電大學 北京 100876

基于QT的數字圖像的灰度化處理程序設計

趙之源

北京郵電大學 北京 100876

介紹了使用QT對BMP圖像進行灰度化處理的相關概念和方法。根據BMP格式圖像的格式類型和存儲原理,介紹對BMP格式圖像進行讀取和寫入方法,并在此基礎上介紹了對BMP圖片進行灰度化的方法。

數字圖像;灰度化處理;QT;C++;位圖

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

1、灰度化原理

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

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

其實圖像灰度化就是根據公示計算出每個像素點的亮度,從而直接用亮度來表示圖片,而不是用以前的R(紅)、G(綠)、B(藍)值。計算公示如下:

這是一個矩陣計算公示,公式中的Y就是亮度值,實際上就是通過原像素點的紅綠藍的值計算出亮度值。通?;叶葓D的數據用8位進行存儲,這樣的圖片灰度有256級,也就是說這種灰度化的圖片中包含256中不同亮度的像素點,255是白色,0是黑色,中間是不同程度的灰色。

而對于不同位數的BMP圖像的灰度化過程也是不同的。

對于2 4位的B M P圖像只需要通過公式Y=0.299R+0.587G+0.144B計算出各像素點的亮度值,然后將亮度值附給該點的RGB值即R=B=G=Y就行了。

而對于其他位數的灰度化也有兩種方法。如對于8位的BMP圖像

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

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

2、程序設計步驟

程序是基于QT設計的,使用C++編程語言,所以設計過程包括界面設計和程序設計思路。

2.1 程序界面設計

程序需要用戶輸入數據,故設計用戶數據接口即可。

2.2 程序流程設計

程序設計的實現過程為:

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

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

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

(2)根據灰度化原理進行處理,

對8比特的BMP圖片進行灰度化的代碼如下:

for(inti=0;i

{

for(intj=0;j

{

index=data[i][j];

////////24bit

if(Bitmapinfoheader.biBitCount==24)

{

doubley3=0.299*data[i][j*3]+0.587*data[i][3*j+1]+0.114*data[i] [3*j+2];

inty4=(int)((y3+0.5)*10/10.0);

if(ui->checkBox->isChecked())

y4=255;

data[i][j*3]=y4;

data[i][j*3+1]=y4;

data[i][j*3+2]=y4;

}

////////8bit

if(Bitmapinfoheader.biBitCount==8)

y0=0.299*Rgbquad[index].rgbRed+0.587*Rgbquad[index]. rgbGreen+0.114*Rgbquad[index].rgbBlue;

(3)將新圖片數據寫到新文件中。

///////寫新文件

FILE*fp1;

fp1=fopen((dir1+"/"+name1).toStdString().c_str(),"wb");

fwrite(&Bitmapfileheader,14,1,fp1);

fwrite(&Bitmapinfoheader,40,1,fp1);

///////8bit

if(Bitmapinfoheader.biBitCount==8)

{

fwrite(Rgbquad,4*colornum,1,fp1);

for(intn=0;n

fwrite(data[n],w1,1,fp1);

}

3、程序測試實驗

本實驗用的是500乘500的8位BMP格式的彩色圖像?;叶然Y果如圖2所示

4、其他

這里只介紹了8比特彩色圖像的灰度化,在進行4比特圖像的灰度化的過程中時要注意數據部分中,每個字節中包含兩個像素的索引值,每次讀出一個字節后需要進行處理。

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過?!律O計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 国产欧美日本在线观看| 中文毛片无遮挡播放免费| 国产成人亚洲无吗淙合青草| 欧美日韩北条麻妃一区二区| 亚洲成A人V欧美综合天堂| 中文字幕日韩视频欧美一区| 婷婷激情亚洲| 国产精品香蕉在线| 精品久久久久久久久久久| 国产aaaaa一级毛片| 精品免费在线视频| 伊人AV天堂| 国产福利免费视频| 成人免费一级片| 99这里精品| 欧美性色综合网| 国产大全韩国亚洲一区二区三区| 久久精品人人做人人爽| 欧美日韩专区| 啪啪永久免费av| 欧美成a人片在线观看| 久久99久久无码毛片一区二区 | 中国国产A一级毛片| 日韩色图区| 久综合日韩| 操美女免费网站| 99热这里只有精品在线观看| 凹凸国产熟女精品视频| 国产黄在线免费观看| 精品久久蜜桃| 在线国产资源| 国产福利一区视频| 亚洲欧美日韩天堂| 最近最新中文字幕在线第一页| 成人午夜天| 波多野结衣一区二区三区四区| 九色在线观看视频| 国产日韩精品一区在线不卡 | 国产网站一区二区三区| 日本三级黄在线观看| 欧美中文字幕在线播放| 福利一区三区| 51国产偷自视频区视频手机观看 | 国产亚洲现在一区二区中文| 波多野一区| 成年片色大黄全免费网站久久| 毛片免费在线| 国产av色站网站| 性喷潮久久久久久久久| 亚洲一区无码在线| 中文无码日韩精品| 亚洲无码91视频| www精品久久| 欧美国产日韩在线| 国产精品三级专区| 五月天福利视频| 日本www色视频| 国产一级小视频| 五月天婷婷网亚洲综合在线| 亚洲一区二区成人| 中文字幕无码电影| 日本欧美午夜| 国产午夜福利亚洲第一| 欧美国产精品拍自| 欧美中出一区二区| 欧美日韩国产成人在线观看| 国产在线第二页| 亚洲人成网址| 亚洲国产日韩在线观看| 亚洲人成网站18禁动漫无码| 午夜电影在线观看国产1区| 99在线小视频| 国产无码制服丝袜| 性做久久久久久久免费看| 波多野结衣无码视频在线观看| 91精品啪在线观看国产60岁 | 91精品专区国产盗摄| 国产素人在线| 精品久久777| 香港一级毛片免费看| 1024你懂的国产精品| 亚洲无码电影|