亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2015-05-30 03:41:34趙之源
        決策與信息·中旬刊 2015年8期

        趙之源

        [摘要]介紹了使用QT對(duì)BMP圖像進(jìn)行灰度化處理的相關(guān)概念和方法。根據(jù)BMP格式圖像的格式類型和存儲(chǔ)原理,介紹對(duì)BMP格式圖像進(jìn)行讀取和寫入方法,并在此基礎(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ǔ)言編寫,運(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)的,所以不同的顏色種類根據(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ì)

        程序需要用戶輸入數(shù)據(jù),故設(shè)計(jì)用戶數(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

        夫妻免费无码v看片| 各类熟女熟妇激情自拍| 精品人妻日韩中文字幕| 一区欧美在线动漫| 曰本亚洲欧洲色a在线| 97自拍视频国产在线观看| 人妻丰满熟妇一二三区| 久久这里都是精品99| 精品国产一区二区三区色搞| 日韩人妻少妇一区二区三区| 毛片免费视频在线观看| a级毛片高清免费视频就| 人妻精品无码一区二区三区| 免费成人毛片| 欧美乱人伦中文字幕在线不卡| 亚洲AV秘 片一区二区三区| 中文字幕二区三区在线| 精品亚洲一区二区三区在线播放| 中文字幕人妻少妇伦伦| 天天躁夜夜躁av天天爽| 农村欧美丰满熟妇xxxx| 欧美老熟妇欲乱高清视频| 亚洲精品国产成人| 91久久精品国产91久久| 成人在线免费视频亚洲| 丰满少妇一区二区三区专区| 国产精品一区二区久久蜜桃| av无码一区二区三区 | 亚洲日本中文字幕天天更新| 国产一在线精品一区在线观看| 中文人妻无码一区二区三区信息 | 成年奭片免费观看视频天天看| 久久迷青品着产亚洲av网站| 国产一区二区三区小向美奈子| 成人国产一区二区三区| 把女人弄爽特黄a大片| 99久久精品国产成人综合| 亚洲人妻无缓冲av不卡| av日本一区不卡亚洲午夜| 自拍偷区亚洲综合激情| 久久青青草原国产毛片|