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

?

基于Qt的數(shù)字圖像處理實(shí)驗(yàn)演示系統(tǒng)

2018-07-27 12:23:32吳龍飛
實(shí)驗(yàn)室研究與探索 2018年7期
關(guān)鍵詞:灰度級均衡化霓虹

陳 龍, 吳龍飛

(杭州電子科技大學(xué) 電子信息學(xué)院,杭州 310018)

0 引 言

數(shù)字圖像處理是指利用計(jì)算機(jī)處理數(shù)字圖像信號的過程,實(shí)現(xiàn)提高圖像質(zhì)量、提取特征信息、圖像編碼和壓縮等效果[1-2]。隨著模式識別、機(jī)器學(xué)習(xí)等學(xué)科的迅速發(fā)展和應(yīng)用,數(shù)字圖像處理作為先導(dǎo)課程在教學(xué)中顯得尤為重要[3-6]。目前數(shù)字圖像處理課程教學(xué)中相關(guān)算法設(shè)計(jì)和效果演示主要在Matlab環(huán)境下編程實(shí)現(xiàn),此方法依賴于安裝有Matlab軟件的計(jì)算機(jī)環(huán)境[7-8]。Matlab軟件龐大的安裝包限制了軟件的通用性和可移植性,同時,采用Matlab編程具有算法執(zhí)行效率低、交互性弱等缺點(diǎn)。

本文基于Qt圖形用戶界面應(yīng)用程序開發(fā)框架,設(shè)計(jì)了數(shù)字圖像處理實(shí)驗(yàn)演示系統(tǒng),具有友好的用戶交互界面,實(shí)現(xiàn)了對數(shù)字圖像在空間域、頻率域進(jìn)行處理的功能,增加了雕刻、霓虹、漫畫等圖像特效處理。軟件窗口中處理前后的圖像并列顯示,直觀地展示算法效果,方便進(jìn)行比對分析,加深學(xué)生對算法的理解和認(rèn)識,增加教學(xué)中的趣味性,提高學(xué)生的學(xué)習(xí)熱情。此外,Qt圖形用戶界面應(yīng)用程序開發(fā)框架為跨平臺庫,增強(qiáng)了軟件的可移植性,系統(tǒng)軟件封裝后不依賴于計(jì)算機(jī)編程環(huán)境即可運(yùn)行,使用方便、快捷[9-12]。學(xué)生可在開放的軟件接口基礎(chǔ)上編寫程序、擴(kuò)展系統(tǒng)功能,為提高學(xué)生實(shí)踐動手能力提供了新的思路。

1 系統(tǒng)軟件設(shè)計(jì)

Qt是基于C++的跨平臺圖形用戶界面開發(fā)框架,具有模塊化程度高、軟件接口豐富,用戶開發(fā)方便快捷等特點(diǎn)。Qt環(huán)境下開發(fā)的應(yīng)用程序可以在很少改動的情況下運(yùn)行于Windows、Linux等系統(tǒng)中,極大地增強(qiáng)了代碼的可移植性和通用性。

使用Qt開發(fā)數(shù)字圖像處理實(shí)驗(yàn)演示系統(tǒng)需要對圖片進(jìn)行輸入、顯示、處理和保存等操作,并在軟件界面中添加不同的功能按鍵實(shí)現(xiàn)不同圖像處理操作的切換功能。系統(tǒng)圖形界面設(shè)計(jì)框架如圖1所示,使用Qt框架中QFileDialog類創(chuàng)建文件選擇對話框,獲取圖像文件路徑,實(shí)現(xiàn)圖片輸入功能;QPixmap類的實(shí)例加載路徑中的圖像文件,在界面中使用兩個QLabel控件分別顯示原圖和處理效果圖;QImage類的實(shí)例實(shí)現(xiàn)圖像保存到本地路徑的功能,功能按鍵由QToolBar中的QAction控件實(shí)現(xiàn),對每個QAction控件通過信號與槽機(jī)制連接到相應(yīng)的圖像處理函數(shù),實(shí)現(xiàn)功能切換;圖像處理函數(shù)使用C++編程完成[13-15]。系統(tǒng)操作界面實(shí)現(xiàn)效果如圖2所示,菜單欄包含了文件的輸入、保存等選項(xiàng),工具欄按照類別包含了空域操作、頻域操作、特效處理等功能按鍵,主界面左邊顯示加載的圖像原圖,右邊顯示處理完成的效果圖,方便對不同圖像處理算法進(jìn)行對比分析。

圖1 系統(tǒng)圖形界面設(shè)計(jì)框架

圖2 系統(tǒng)操作界面實(shí)現(xiàn)效果

2 實(shí)例分析與演示

本系統(tǒng)實(shí)現(xiàn)了數(shù)字圖像處理技術(shù)中對圖像的空域操作、頻域操作的基本功能,其中,空域操作包括圖像的點(diǎn)操作和模板操作兩部分。在基本操作實(shí)現(xiàn)的基礎(chǔ)上,通過設(shè)計(jì)算法對圖像進(jìn)行浮雕、霓虹、底片等特效處理,展示圖像處理算法的部分應(yīng)用場景。系統(tǒng)圖像處理功能框架結(jié)構(gòu)如圖3所示。選取圖像處理中空間域操作—圖像直方圖均衡化處理、頻域操作—圖像傅里葉變換處理、特效處理—圖像霓虹特效處理3種功能進(jìn)行系統(tǒng)實(shí)例分析和演示。

圖3 系統(tǒng)圖像處理功能框架結(jié)構(gòu)

2.1 圖像直方圖均衡化處理

直方圖均衡化是利用直方圖對圖像的對比度進(jìn)行調(diào)整的方法,其實(shí)現(xiàn)簡單、高效,能夠增加圖像的局部對比度,被廣泛應(yīng)用于圖像增強(qiáng)處理中。

(1) 原理分析。對于灰度級為[0,L-1]的圖像,灰度直方圖表示某個灰度級的像素點(diǎn)在圖中的個數(shù),假設(shè)灰度級為rk的像素點(diǎn)個數(shù)為nk,則直方圖為h(rk)=nk,歸一化表示為:

(1)

式中,n表示總的像素點(diǎn)個數(shù)。歸一化直方圖0≤p(rk)≤1,直方圖和等于1。對于動態(tài)范圍小、灰度級集中分布導(dǎo)致圖像顯示效果差的情況,可進(jìn)行直方圖均衡化處理,拉伸圖像灰度值的分布范圍,達(dá)到增強(qiáng)圖像、優(yōu)化顯示的效果,其處理過程表示如下:

(2)

式中:sk為轉(zhuǎn)換后的圖像灰度級;rk為原圖像灰度級;T為轉(zhuǎn)換函數(shù)。原圖中灰度級為rk的的像素點(diǎn)映射到轉(zhuǎn)換后的圖中灰度級為sk的像素點(diǎn)。處理完成后圖像直方圖近似均勻分布。

(2) 實(shí)現(xiàn)步驟。①遍歷輸入圖像像素點(diǎn),統(tǒng)計(jì)不同灰度級像素點(diǎn)個數(shù),計(jì)算圖像的直方圖P;②根據(jù)式(2)計(jì)算各灰度級直方圖,創(chuàng)建灰度級映射表rk→sk;創(chuàng)建與原圖大小相等、類型相同的空圖用于存儲處理效果圖。對輸入圖像每一大小個像素點(diǎn),查詢映射表進(jìn)行圖像轉(zhuǎn)換,轉(zhuǎn)換完成后像素值存儲在效果圖對應(yīng)像素點(diǎn)位置。

(3) 效果展示。圖像直方圖均衡化處理效果如圖4所示,直方圖均衡化處理后圖像更為鮮明、局部細(xì)節(jié)有了很大的改進(jìn),表現(xiàn)力得到優(yōu)化。圖5所示為直方圖均衡化處理前后圖像直方圖對比圖。處理前,圖像灰度級分布在狹窄的一段灰度范圍內(nèi);處理后,圖像動態(tài)范圍得到擴(kuò)展,像素值分布較為均勻。

圖4 圖像直方圖均衡化處理效果

圖5 直方圖均衡化處理前后圖像直方圖對比圖

2.2 圖像離散傅里葉變換處理

圖像的頻域操作是指將圖像轉(zhuǎn)換到頻率域空間進(jìn)行處理,完成后再從頻率域轉(zhuǎn)換到空間域顯示的過程。在頻率域中分析圖像能夠直觀地得到圖像頻率成分與圖像空間域顯示效果間的關(guān)系,在對圖像進(jìn)行增強(qiáng)處理時可方便地確定需要保留或?yàn)V除的頻率,設(shè)計(jì)濾波器更為直接。

(1) 原理分析。離散傅里葉變換將一幅圖像分解為正弦和余弦兩部分,實(shí)現(xiàn)了圖像從空間域到頻率域的轉(zhuǎn)換。二維圖像的離散傅里葉變換公式如下:

(3)

eix=cosx+isinx

(4)

式中:f(i,j)為空間域像素值;i、j分別為空間域X軸、Y軸坐標(biāo);F(u,v)為頻率域值,u、v為頻率變量。圖像經(jīng)過離散傅里葉變換后頻域值為復(fù)數(shù)(實(shí)部R(u,v)和虛部I(u,v)),頻譜和相位分別定義為:

(5)

φ(u,v)=arctan[I(u,v)/R(u,v)]

(6)

頻率域中圖像由幅度圖和相位圖共同表示。實(shí)際應(yīng)用中,由于幅度圖包含了原圖像中幾乎所有有用的幾何信息,因此只使用幅度圖對圖像進(jìn)行分析。在頻率域轉(zhuǎn)換為空間域時,需要同時使用幅度圖和相位圖進(jìn)行轉(zhuǎn)換才能夠保證圖像信息的完整性。

(2) 實(shí)現(xiàn)步驟。①讀入原圖,通過添加新邊緣像素方法擴(kuò)展圖像至合適尺寸(當(dāng)圖像尺寸為2、3的倍數(shù)時,離散傅里葉變換計(jì)算速度最快);②分配頻率域復(fù)數(shù)存儲空間;③進(jìn)行離散傅里葉變換運(yùn)算;④根據(jù)式(5)計(jì)算頻率域幅度值并取對數(shù)進(jìn)行縮放;⑤剪切幅度圖,對圖像象限重新調(diào)整,使原點(diǎn)位于圖像中心;⑥歸一化幅度圖像素值到[0,1],顯示轉(zhuǎn)換完成的頻譜幅度圖像。

(3) 效果展示。傅里葉變換處理效果如圖6所示,展示了圖像經(jīng)過離散傅里葉變換后的頻譜幅度圖。在頻率域中,高頻信號代表了圖像中的紋理和細(xì)節(jié)部分,低頻信號代表了圖像中的輪廓。頻譜幅度圖中心為低頻信號,四周為高頻信號。低頻信號處亮度較高,高頻信號處亮度較低,表示原圖中灰度值變化平緩的地方較多,出現(xiàn)灰度變化劇烈(邊緣)的地方較少。

圖6 傅里葉變換處理效果

2.3 圖像霓虹特效處理

圖像特效處理是PhotoShop、美圖秀秀等圖像處理軟件的常見功能,在對圖像的空域操作、頻域操作的基礎(chǔ)上設(shè)計(jì)算法實(shí)現(xiàn),以圖像霓虹特效為例介紹圖像特效處理的原理和實(shí)現(xiàn)。

(1) 原理分析。霓虹特效是指繪制圖像的邊緣部分,增強(qiáng)圖像中顏色變化的過渡邊緣,使得圖片產(chǎn)生物體、人物輪廓發(fā)光的絢麗效果。

獲取圖像邊緣是圖像霓虹特效處理的前提和關(guān)鍵,本系統(tǒng)通過計(jì)算圖像當(dāng)前像素與其同行右側(cè)和同列下方的像素梯度值獲取圖像邊緣,梯度值越大表示該像素點(diǎn)處顏色變化越明顯,則該處像素值亮度需要增強(qiáng),以梯度值與常數(shù)相乘更新當(dāng)前像素帶點(diǎn)值實(shí)現(xiàn)該效果。假設(shè)圖像當(dāng)前像素點(diǎn)為P1,RGB通道值分別為r1、g1、b1。與當(dāng)前像素點(diǎn)同行下一個像素點(diǎn)為P2,與當(dāng)前像素點(diǎn)同列下一個像素點(diǎn)為P3,RGB通道值分別為r2、g2、b2;r3、g3、b3。圖像轉(zhuǎn)換式為:

(7)

式中:r1(new)、g1(new)、b1(new)為當(dāng)前像素點(diǎn)RGB通道的更新值;t為常數(shù),調(diào)節(jié)新的像素值在灰度級范圍內(nèi)。

(2) 實(shí)現(xiàn)步驟。假設(shè)一幅圖像像素點(diǎn)個數(shù)為M×N(M行N列),RGB三通道,Img變量存儲原圖像矩陣,與Img等大小的變量newImg存儲處理完成的圖像,主要處理程序如下:

for(int i=0;i

{

for(int j=0;j

{

//Img表示原圖像矩陣

//獲取圖像第i行j列像素點(diǎn)RGB通道值

r1 = img[i,j].r();

g1 = img[i,j].g();

b1 = img[i,j].b();

//獲取圖像第i行j+1列像素點(diǎn)RGB通道值

r2 = img[i,j+1].r();

g2 = img[i,j+1].g();

b2 = img[i,j+1].b();

//獲取圖像第i+1行j列像素點(diǎn)RGB通道值

r3 = img[i+1,j].r();

g3 = img[i+1,j].g();

b3 = img[i+1,j].b();

//計(jì)算更新后RGB通道值

newR= t*

sqrt((r1-r2)*(r1-r2)+(r1-r3)*(r1-r3));

newG = t*

sqrt((g1-g2)*(g1-g2)+(g1-g3)*(g1-g3));

newB = t*

sqrt((b1-b2)*(b1-b2)+(b1-b3)*(b1-b3));

//newImg表示處理完成后圖像矩陣

//限制幅值在[0,255]

if(newR >255)

newImg.r() = 255;

else

newImg.r() = newR;

if(newG >255)

newImg.g() = 255;

else

newImg.g() = newG;

if(newB >255)

newImg.b() = 255;

else

newImg.b() = newB;

}

}

(3) 效果展示。圖像霓虹特效處理效果如圖7所示,處理完成后圖像中人物和物體的邊緣(梯度幅值大)亮度增強(qiáng),表現(xiàn)出閃光的效果,而人物和物體表面顏色變化緩慢的區(qū)域(梯度幅值小)亮度減小,襯托閃光的邊緣,使得圖像表現(xiàn)出夜晚霓虹的特效。

圖7 霓虹特效處理效果

3 結(jié) 語

本文基于Qt圖形用戶界面開發(fā)框架設(shè)計(jì)了數(shù)字圖像處理實(shí)驗(yàn)演示系統(tǒng),實(shí)現(xiàn)了數(shù)字圖像處理課程中圖像的空域操作、頻域操作、特效處理等基本算法,具有良好的用戶交互界面,方便對圖像處理技術(shù)的不同算法進(jìn)行效果演示和分析對比,將該軟件系統(tǒng)應(yīng)用于數(shù)字圖像處理課程教學(xué)中,達(dá)到了以下教學(xué)目的:

(1) 掌握數(shù)字圖像的基本處理原理和方法,圖像處理演示過程直觀形象地展現(xiàn)了不同圖像處理算法的實(shí)現(xiàn)效果,使學(xué)生能夠深入了解圖像處理算法在不同情況下的應(yīng)用;

(2) 通過對圖像的讀取、存儲以及空域操作、頻域操作等基本處理方式的實(shí)現(xiàn),掌握編程環(huán)境中圖像的表達(dá)方式以及算法實(shí)現(xiàn)過程和方法;

(3) 分析對比圖像處理中不同算法的實(shí)現(xiàn)方法和處理效果,為以后再圖像處理應(yīng)用中設(shè)計(jì)處理算法拓寬思路,縮短算法設(shè)計(jì)周期。

數(shù)字圖像處理實(shí)驗(yàn)演示系統(tǒng)的應(yīng)用可以激發(fā)學(xué)生學(xué)習(xí)興趣,開闊學(xué)生的眼界,提倡學(xué)生能夠?qū)W以致用,鍛煉動手能力,提升專業(yè)技能,為以后工作奠定扎實(shí)的理論基礎(chǔ)和實(shí)踐技能。

猜你喜歡
灰度級均衡化霓虹
夜雨之下,霓虹閃爍
中國三峽(2022年6期)2022-11-30 06:15:48
人眼可感知最多相鄰像素灰度差的全局圖像優(yōu)化方法*
霓虹攝影
流光溢彩
《霓虹》
基于灰度直方圖的單一圖像噪聲類型識別研究
制度變遷是資源均衡化的關(guān)鍵
直方圖均衡化技術(shù)在矢量等值填充圖中的算法及實(shí)現(xiàn)
基于混沌加密的DCT域灰度級盲水印算法
基于實(shí)測校正因子的實(shí)時伽馬校正算法
宁安市| 景德镇市| 昌都县| 仁布县| 彭水| 塘沽区| 南华县| 武胜县| 邓州市| 云安县| 秦安县| 红河县| 游戏| 德江县| 本溪市| 普兰店市| 桓台县| 偃师市| 千阳县| 当雄县| 华宁县| 苍溪县| 正安县| 贵阳市| 高台县| 山丹县| 九龙县| 丽江市| 金秀| 孟津县| 棋牌| 庆云县| 辽中县| 林周县| 阳曲县| 金阳县| 天台县| 双桥区| 剑川县| 紫阳县| 元阳县|