版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第11章
基于模型驅(qū)動法的圖像處理綜合應(yīng)用學(xué)習(xí)目標(biāo)1.能編程實現(xiàn)變換域圖像融合。2.會給一幅圖像增加水印。3.能對特定圖像提取既定目標(biāo)。4.初步學(xué)會進行圖像圖形化處理。5.能用MATLAB熟練進行動畫制作和圖像軟件開發(fā)。本章內(nèi)容11.1.1圖像融合概述
11.1圖像融合
圖像融合是信息融合領(lǐng)域以圖像為對象的融合,是對兩個或兩個以上的傳感器在同一時間或不同時間獲取的關(guān)于同一場景的圖像或圖像序列信息進行綜合并生成一幅新圖像的過程。圖像融合可分為像素級融合、特征級融合和決策級融合。像素級融合是按照某些融合規(guī)則,逐像素或逐區(qū)域地選擇或合并原始圖像的信息,形成一幅融合圖像特征級融合是利用原始圖像中提取出的某些特征如形狀特征、運動特征等進行合并,是中間層次的信息融合。決策級融合是通過合并對原始圖像的初步判決和決策形成最終的聯(lián)合判決,是最高層次的信息融合。11.1.2
像素級圖像融合過程
11.1圖像融合
像素級圖像融合首先需要對原始圖像進行嚴(yán)格的配準(zhǔn),然后依據(jù)既定的融合規(guī)則(如灰度值取大、加權(quán)平均)等進行逐像素或區(qū)域的合并。
融合過程如下:圖11.1像素級圖像融合基本過程11.1圖像融合像素級圖像融合一般分為空域和變換域兩大類方法。在空域中,按照某些規(guī)則直接對像素或區(qū)域進行線性或非線性合并,主要采用亮度—色度—飽和度變換法、加權(quán)平均法、主成分分析法、獨立成分分析法等。在變換域中,常用的是多尺度變換方法。
多尺度變換融合一般都按如下步驟進行:(1)把原始圖像分別分解成一系列不同尺度的高頻和低頻成分;(2)依據(jù)特定的融合規(guī)則分別合并高頻和低頻成分,常用的融合規(guī)則是高頻灰度值取大、低頻加權(quán)平均;(3)對合并后的高、低頻系數(shù)進行相應(yīng)的逆變換,形成融合圖像。表11.1
像素級圖像融合方法、融合策略與差異特征之間的對應(yīng)關(guān)系融合方法分類融合單元算法處理對象融合策略常用差異特征判斷指標(biāo)基于空間域的圖像融合方法像素點單個像素點的灰度值加權(quán)平均灰度值用區(qū)域運算值替代單點像素值標(biāo)準(zhǔn)差、能量、梯度分塊像素取大、加權(quán)平均基于變換域的圖像融合方法像素點單個像素點的灰度值加權(quán)平均灰度值窗口用窗口運算值替代單點像素值取大、加權(quán)平均標(biāo)準(zhǔn)差、能量、梯度區(qū)域用區(qū)域運算值替代單點像素值11.1.3圖像融合實例——雙色中波紅外圖像融合
紅外中波細(xì)分波段圖像特征差異分析按照大氣窗口劃分,紅外中波段一般為3~5μm。紅外中波段的大氣透過率曲線如圖11.2所示。由于窄帶成像效果更好,所以,在高性能探測系統(tǒng)中往往把中波段進一步劃分成兩個細(xì)分波段,如3.4~4.1μm、4.5~5.3μm,為論述方便,前者稱為“中波第一細(xì)分波段(MWIR1)”,后者稱為“中波第二細(xì)分波段(MWIR2)圖11.2紅外中波大氣透過率曲線兩個中波細(xì)分波段成像在以下幾個方面存在差異:同一目標(biāo)在兩個細(xì)分中波段的輻射出射度不同。根據(jù)普朗克定律,輻射出射度與波長有關(guān),相同溫度下,不同波長對應(yīng)的輻射出射度不同。兩個細(xì)分中波段的峰值波長對應(yīng)的溫度范圍不同。根據(jù)維恩位移定律,以3.0~4.0μm(MWIR1)和4.0~5.0μm(MWIR2)為例,MWIR1和MWIR2對應(yīng)的黑體溫度范圍分別為966.3K~724.8K和724.8K~579.8K,最高最低溫度分別相差241.5K和145.0K,前者范圍寬,后者范圍較窄。不同目標(biāo)在兩個細(xì)分中波段的輻射出射度也不同。不同材料的光譜發(fā)射率不同,在相同溫度和同一波長下,其輻射出射度是不同的。11.1.3圖像融合實例——雙色中波紅外圖像融合
2.基于雙樹復(fù)小波的雙色中波紅外圖像融合
由于小波變換存在兩個問題:一是平移敏感性;二是方向缺乏性。為此,Kingsbury等人利用兩路離散小波變換的二叉樹結(jié)構(gòu)提出了雙樹復(fù)小波,如圖11.3所示。圖11.3
雙樹復(fù)小波變換原理圖(1)融合原理與步驟
首先利用雙樹復(fù)小波對已經(jīng)配準(zhǔn)好的源圖像分別進行多尺度分解,其次,根據(jù)已經(jīng)建立的兩個細(xì)分波段圖像特征差異和融合方法的映射關(guān)系,在子圖像上選擇融合單元。然后,對高頻子圖像選用“取大”策略,對低頻子圖像采用“加權(quán)平均”。融合步驟如圖所示。圖11.4紅外中波大氣透過率曲線2.基于雙樹復(fù)小波的雙色中波紅外圖像融合(2)實驗結(jié)果與分析11.1.3圖像融合實例——雙色中波紅外圖像融合
圖11.5雙色中波紅外圖像融合結(jié)果客觀評價:局部標(biāo)準(zhǔn)差、熵、局部粗糙度的值越大說明圖像的細(xì)節(jié)信息越豐富。圖像平均梯度越大說明圖像的邊緣信息越好。結(jié)構(gòu)相似度越大說明從原圖像中提取的信息越多。原圖像融合方法平均梯度熵局部標(biāo)準(zhǔn)差局部粗糙度平均結(jié)構(gòu)相似度No.1小波包融合結(jié)果2.31316.37184.26704.09740.9027SVT融合結(jié)果2.20786.35074.16354.22980.9036本節(jié)方法的融合結(jié)果2.44806.85334.88184.47360.9773No.2小波包融合結(jié)果3.54458.591310.076514.04340.9623SVT融合結(jié)果3.47458.572610.537814.56400.9124本節(jié)方法的融合結(jié)果3.66338.576411.375615.43840.947511.1.3圖像融合實例——雙色中波紅外圖像融合
表11.2圖11.5的客觀評價指標(biāo)值11.2基于最低有效位方法的圖像加密
圖像的數(shù)字水印技術(shù)是當(dāng)前的研究熱點之一。如果水印嵌入是在圖像空域進行的,稱為空域水印技術(shù);如果水印嵌入是在變換域進行的,則稱為變換域水印技術(shù)。
最低有效位方法(LeastSignificantBit,LSB)是一種典型的空域數(shù)據(jù)隱藏方法。灰度圖像的每個像素通常為8位(真彩色圖像的每個像素為24位,R,G,B各8位)。把圖像分解為(0~7)個位面,每一位取值0或1。
隨著位面從低到高變化,位平面圖像的特征逐漸變得復(fù)雜,細(xì)節(jié)不斷增加。低位所代表的能量很少,改變低位對圖像的質(zhì)量沒有太大的影響。LSB方法利用這一特點在圖像低位嵌入水印信息。11.2.1LSB算法步驟
(1)讀取載體圖像和秘密信息,將載體圖像每個像素點的像素值都進行8bit二進制轉(zhuǎn)換,以8位二進制數(shù)作為位平面分布高度,分解成8個位平面。(2)先將所得到的二進制數(shù)矩陣壓縮,然后把二值水印信息嵌入壓縮后空出的最低位;或者將最低位或第2位平面置零,替換為二值化水印。替換后的結(jié)果重新構(gòu)成8個新的位平面,實現(xiàn)水印在圖像位平面的嵌入。(3)把新的8bit二進制數(shù)轉(zhuǎn)換為圖像像素的十進制數(shù),得到水印圖像。11.2.1LSB算法步驟
圖11.6用二值水印信息替換載體數(shù)據(jù)的最低有效位
若待嵌入二進制水印信息序列為{0,1,1,0,0,0,1,0,0},構(gòu)成新的位平面,如下圖11.6所示。這個替換過程可以描述為:其中,為原始載體圖像第i行j列像素點的像素值,
為待嵌入的二值水印。使用原載體圖像和待嵌入圖像都是彩色BMP格式,大小為256×256。
彩色水印圖像嵌入首先要進行彩色圖像的二值化轉(zhuǎn)換。(11.1)11.2.2算法實現(xiàn)
%LSB
水印嵌入算法clearall%讀取載體圖像file_name='image1.bmp’;[cover_object,map]=imread(file_name);%讀取秘密信息file_name='key.bmp';[message,map1]=imread(file_name);message1=message;message=double(message);message=fix(message./2);message=uint8(message);%確定載體圖像大小Mc=size(cover_object,1);Nc=size(cover_object,2);%確定隱密信息大小Mm=size(message,1);Nm=size(message,2);%利用隱密信息生成載體圖像大小的水印信息fori=1:Mcforj=1:Ncwatermark(i,j)=message(mod(i,Mm)+1,mod(j,Nm)+1);endendwatermarked_image=cover_object;%將水印信息嵌入到載體圖像fori=1:Mcforj=1:Ncwatermarked_image(i,j)=bitset(watermarked_image(i,j),1,watermark(i,j));endendimwrite(watermarked_image,'lsb_watermarked.bmp','bmp');%計算載體圖像與水印圖像的相似度psnr=PSNR(cover_object,watermarked_image,Mc,Nc);figure(1);imshow(watermarked_image,[]);title('WatermarkedImage');figure(2);imshow(cover_object,[]);title('originalimage');%%%%LSB水印提取算法%%%%clearall;watermarked_image=imread('lsb_watermarked.bmp');%水印圖像的大小Mw=size(watermarked_image,1);Nw=size(watermarked_image,2);%水印信息提取過程fori=1:Mwforj=1:Nwwatermark(i,j)=bitget(watermarked_image(i,j),1);endendwatermark=2*double(watermark);imshow(watermark,[]);title('RecoveredWatermark');11.2.2仿真結(jié)果分析
圖11.7隱密信息圖11.8水印圖像圖11.9水印嵌入到不同位平面的結(jié)果圖11.9所示各幅圖像與原圖像的相似度值如表11.3所示。從表可以看出,將水印信息嵌入位平面0,即LSB平面所得到的圖像與原始圖像最相似,圖像幾乎看不到失真,而使用位平面7,即MSB平面時圖像失真最大。水印位置相似度水印位置相似度位平面77.9143位平面332.9961位平面614.1421位平面239.2718位平面521.4512位平面145.0400位平面426.8645位平面051.2054表11.3水印圖像與原始圖像的相似度11.2基于最低有效位方法的圖像加密對圖11.9中的水印嵌入LSB后得到的圖像進行濾波和幾何攻擊,獲得如圖11.10所示圖像。圖11.10濾波和幾何攻擊的水印圖像11.2基于最低有效位方法的圖像加密
對圖11.10提取水印得到圖11.11??梢钥闯觯篖SB算法對于濾波操作和部分幾何攻擊的抵抗性不是很好,水印圖像不很清晰。盡管如此,由于LSB方法實現(xiàn)簡單,隱藏量比較大,以LSB思想為原型,產(chǎn)生了一些變形的LSB方法,目前互聯(lián)網(wǎng)上公開的圖像信息隱藏軟件大多使用這種方法。圖11.11濾波和幾何攻擊后水印提取的圖像
目標(biāo)提?。z測)常被視為圖像增強和圖像分割的復(fù)合問題,其研究難點在于低信噪比和強干擾。目標(biāo)檢測可分為單幀圖像目標(biāo)檢測和多幀圖像目標(biāo)檢測兩大類。單幀檢測方法往往假設(shè)局部背景變化較小,局部像素高度相關(guān),而目標(biāo)被視為打破這種局部相關(guān)性的像素。通常先利用圖像增強技術(shù)拉大目標(biāo)與背景的對比度,再利用特定算法檢測目標(biāo)。多幀檢測方法主要利用圖像序列中的時間和空間信息,依據(jù)目標(biāo)的運動特性或兩幀灰度值差的絕對值,通過閾值判定移動的目標(biāo)。11.3圖像目標(biāo)提取
常用的運動目標(biāo)檢測算法有三種,即光流法、幀間差分法和背景差分法。
背景差分法的關(guān)鍵是提取背景圖像,對于攝像機固定不變的情況,背景也是靜態(tài)的(基本不變)。如果第一幀中沒有運動目標(biāo),就把第一幀作為背景,否則需要根據(jù)若干幀建立背景模型;同時由于光線、天氣等變化,需要更新背景,然后對包含運動目標(biāo)的幀圖像與背景圖像進行差分運算,再進行二值化和形態(tài)學(xué)處理得到運動目標(biāo)區(qū)域。11.3.1運動目標(biāo)提取步驟
(1)讀取視頻文件disp('inputvideo');%顯示提示信息video=VideoReader('video1.avi');%獲取視頻文件get(video)%獲取視頻信息disp('outputvideo')%顯示提示信息implay('video1.avi');%播放視頻detecting(video);%調(diào)用運動目標(biāo)檢測函數(shù)
這里使用get函數(shù)獲取視頻文件的更多信息,比如:視頻持續(xù)時間、幀率、幀數(shù)、高度、寬度、視頻格式、像素深度等;使用implay函數(shù)播放視頻。(2)運動目標(biāo)檢測①取第一幀作為背景幀(假定第一幀不含運動目標(biāo)),并將其轉(zhuǎn)換成灰度圖像;②取出當(dāng)前幀(例子中的視頻共808幀,取第400幀為當(dāng)前幀);③計算當(dāng)前幀與背最幀之差,得到差分圖像;④對差分圖像進行二值化;11.3.1運動目標(biāo)提取步驟
⑤對二值化后的圖像的各個連通區(qū)域作標(biāo)記;⑥計算各個區(qū)域的面積;⑦保留面積大于某個閾值的區(qū)域(例子中取閾值為800像素);⑧以半徑為5像素的圓形結(jié)構(gòu)元素對連續(xù)作3次膨脹、腐蝕操作,得到運動目標(biāo)。11.3.1運動目標(biāo)提取步驟
background=rgb2gray(read(video,1));%將第1幀作為背景choosedframe=rgb2gray(read(video,400));%取第400幀為當(dāng)前幀dtarget=abs(background-choosedframe);%計算差分bw=im2bw(dtarget,0.1);%差分圖像二值化cc=bwlabel(bw);%對二值圖像連通區(qū)城標(biāo)記stats=regionprops(cc,'Area');%計算各區(qū)域的面積idx=find([stats.Area]>800);%取面積大于800像素區(qū)域bw2=ismember(cc,idx);%判斷cc中的元素有無在idx中出現(xiàn)se=strel('disk',5);%取半徑為5的圓形結(jié)構(gòu)元素bw3=bw2;fori=1:3bw3=imdilate(bw3,se);%用結(jié)構(gòu)元素對區(qū)域進行3次膨脹
bw3=imerode(bw3,se);%用結(jié)構(gòu)元素對區(qū)域進行3次腐蝕endfigure,imshow(read(video,1));%顯示背景幀figure,imshow(read(video,400));%顯示當(dāng)前幀figure,imshow(dtarget);%顯示差分圖像figure,imshow(bw);%顯示二值化后的圖像figure,imshow(bw2);%顯示去除小目標(biāo)后的區(qū)域figure,imshow(bw3);%顯示3次膨脹、腐蝕后的結(jié)果11.3.2運動目標(biāo)特征提取實現(xiàn)11.3.2運動目標(biāo)特征提取實現(xiàn)運動目標(biāo)特征提取的實現(xiàn)結(jié)果如下:還可以進一步計算目標(biāo)區(qū)域特征:dd=bwlabel(bw3);%對處理后的圖像作連通區(qū)域標(biāo)記stats2=regionprops(dd,'Area','Centroid');%計算目標(biāo)區(qū)域特征stats2.Area%顯示目標(biāo)區(qū)域面積stats2.Centroid%顯示目標(biāo)區(qū)城重心坐標(biāo)
對得到的運動目標(biāo)區(qū)域計算特征,得到其面積為29691,重心坐標(biāo)為(478.5879,230.4138)。11.4.1單幅圖像圖形化
11.4基于圖像的三維繪制把二維圖像的兩個下標(biāo)作為空間中的二維,灰度值作為空間中的一維。單幅圖像圖形化的實現(xiàn)結(jié)果如下:closeall;clc;A=imread('1.jpg');A1=rgb2gray(A);A1=imcrop(A,[100,0,240,200]);s=size(A1);subplot(131);imshow(A1);subplot(132)%從圖像中提取三維圖像數(shù)據(jù)fori=1:2:s(1)forj=1:2:s(2)plot3(i,j,A1(i,j));holdonendendview([80,70])圖11.13單幅圖像圖形化結(jié)果11.4.2多幅圖像圖形化
把每幅圖像當(dāng)做平面位置(x,y)上有一高度值z,根據(jù)混沌理論,把各個圖像化為三維單位區(qū)域上的函數(shù),然后使用多個圖像依次穿插迭代,可以重構(gòu)圖像。首先,隨機選取一些圖像,例如選取6幅圖像,多幅圖像圖形化關(guān)鍵代碼如下:%讀入圖像a=imread('river.png');b=imread('face.jpg');c=imread('000001.jpg');d=imread('image5.jpg');e=imread('girl.jpg');f=imread('image1.jpg');%轉(zhuǎn)換為單通道圖像a001=a(:,:,3);a002=b(:,:,3);a003=c(:,:,1);a004=d(:,:,3);a005=e(:,:,3);a006=f(:,:,1);%把所有圖像都化為256256大小a01=imresize(a001,[256,256]);a02=imresize(a002,[256,256]);a03=imresize(a003,[256,256]);a04=imresize(a004,[256,256]);a05=imresize(a005,[256,256]);a06=imresize(a006,[256,256]);%調(diào)整動態(tài)范圍k1=[0,1];k2=[0,1];k3=[0,1];k4=[0,1];k5=[0,1];k6=[0,1];a1=imadjust(a01,k1,[0,1]);a2=imadjust(a02,k2,[0,1]);a3=imadjust(a03,k3,[0,1]);a4=imadjust(a04,k4,[0,1]);a5=imadjust(a05,k5,[0,1]);a6=imadjust(a06,k6,[0,1]);x1=10;y1=20;x2=15;y2=200;x3=100;y3=70;x4=10;y4=20;x5=10;y5=200;x6=100;y6=70;fori=1:256*256*32%迭代次數(shù)多一些,得到的圖像就清晰一些
z1=a1(x1,y1);z2=a2(x2,y2);z3=a3(x3,y3);%將a1,a2,a3的顏色值賦出
z4=a4(x4,y4);z5=a5(x5,y5);z6=a6(x6,y6);ZZ1(x1,y1)=z1;ZZ2(x2,y2)=z2;ZZ3(x3,y3)=z3;%把顏色值分別存到各個數(shù)組里
ZZ4(x4,y4)=z4;ZZ5(x5,y5)=z5;ZZ6(x6,y6)=z6;if(z1==0)z1=1;end%z1-z6為0會使迭代陷入到某個小區(qū)域if(z2==0)z2=1;endif(z3==0)z3=1;endif(z4==0)z4=1;endif(z5==0)z5=1;endif(z6==0)z6=1;end%串動像素的位置,把第2個圖像的函數(shù)值給第1個圖像作為下標(biāo),下面依次類推
x1=y1;y1=z2;x2=y2;y2=z3;x3=y3;y3=z4;x4=y4;y4=z5;x5=y5;y5=z6;x6=y6;y6=z1;endsubplot(2,3,1);imshow(ZZ1);subplot(2,3,2);imshow(ZZ2);subplot(2,3,3);imshow(ZZ3);subplot(2,3,4);imshow(ZZ4);subplot(2,3,5);imshow(ZZ5);subplot(2,3,6);imshow(ZZ6);程序運行后的結(jié)果如圖11.14所示。結(jié)果如下:圖11.14迭代重構(gòu)后的圖像11.5.1視頻圖像內(nèi)容關(guān)聯(lián)性分析通常視頻圖像在內(nèi)容上有關(guān)聯(lián),這種關(guān)聯(lián)可體現(xiàn)在序列圖像的顏色直方圖等方面。fori=1:9k=int2str(i);%把i從整型變?yōu)樽址?/p>
k1=strcat('E:\Books\basketball\',k,'.jpg');%把兩個字串E:\Books\basketball\與.jpg中間的k值連接起來,以便調(diào)用序列圖像文件。
disp(k1);%輸出字符串。
B(i,:,:,:)=imread(k1);%最終B數(shù)組中存放了9幅圖像。
subplot(3,3,i);C(:,:,:)=B(i,:,:,:);imshow(C);endfigure;fori=1:9subplot(3,3,i);D(:,:,:)=B(i,:,:,:);E(:,:)=D(:,:,2);imhist(E);end11.5視頻圖像分析與目標(biāo)動畫制作11.5視頻圖像分析與目標(biāo)動畫制作結(jié)果與直方圖如下圖所示:圖11.15籃球比賽序列圖像圖11.16籃球比賽中序列圖像的直方圖fori=1:9k=int2str(i);k1=strcat('E:\Books\basketball\',k,'.jpg');B(i,:,:,:)=imread(k1);endfori=1:8C(:,:,:)=B(i+1,:,:,:)-B(i,:,:,:);imshow(C);pause(0.1);end
因為序列圖像一般相鄰幀之間具有內(nèi)容上的相關(guān)性,所以把序列圖像作差就可以提取到運動目標(biāo)。具體實現(xiàn)方法如下:11.5.2
視頻圖像運動目標(biāo)動畫制作
序列圖像的差如圖11.17所示。利用pause(0.1)使得輸出連續(xù),呈現(xiàn)動畫形式,如果每秒不少于25幀即為一個流暢的視頻。圖11.17籃球比賽序列圖像的差11.6.1準(zhǔn)備工作11.6圖像處理軟件開發(fā)
在做完系統(tǒng)設(shè)計(這部分內(nèi)容可以參看軟件工程相關(guān)書籍)后,和其它軟件系統(tǒng)開發(fā)一樣,基于MATLAB的軟件開發(fā)也需要先把各個模塊的代碼準(zhǔn)備好。這里假定我們在前面的學(xué)習(xí)中已經(jīng)開發(fā)出并調(diào)試好具備工程項目所需要的若干功能的圖像處理程序,如圖像增強、圖像復(fù)原、圖像分割等等,接下來需要做的:一是把代碼按模塊合并好;二是把每個模塊的程序一一改為函數(shù)。
對一個模塊IMMODEL1而言,把程序改為函數(shù)的關(guān)鍵語句是放在代碼開始的function語句,其格式是:function輸出變量=函數(shù)名稱(輸入變量),這里輸出變量和函數(shù)名稱必須是符合MATLAB規(guī)則,如建立一個函數(shù)myIMMODEL1
保存為一個.m文件myIMMODEL1.m。調(diào)用方式:num=myIMMODEL1(1,2);這樣就可以由函數(shù)中的y=a+b得到num的值是1+2=3。functiony=myIMMODEL1(a,b)y=a+b;11.6.2圖形用戶界面設(shè)計MATLAB為圖形用戶界面(GraphicalUserInterface,GUI)開發(fā)提供了一個方便高效的集成開發(fā)環(huán)境GUIDE。GUIDE是一個界面設(shè)計工具集,提供了系統(tǒng)界面的外觀、屬性和回調(diào)函數(shù)等。(1)啟動GUIDE
用戶在MATLAB命令窗口輸入guide來啟動GUIDE。產(chǎn)生GUIDE的快速啟動窗口,如圖11.18所示圖11.18啟動GUIDE
創(chuàng)建新的GUI時,有4個模板可以選擇:通常我們選擇BlankGUI(Default),即系統(tǒng)默認(rèn)的空白模板,點擊確定會出現(xiàn)GUI界面,如圖所示。(2)創(chuàng)建新的GUI圖11.19創(chuàng)建新的GUI
1)靜態(tài)文本框創(chuàng)建點擊“靜態(tài)文本”按鈕,按需要添加靜態(tài)文本框,放置系統(tǒng)標(biāo)題和功能模塊名稱,如圖11.20所示。圖11.20
靜態(tài)文本框創(chuàng)建(3)系統(tǒng)功能界面設(shè)計2)靜態(tài)文本框設(shè)置右擊靜態(tài)文本框選擇“屬性檢查器”,可以對文本框的各類參數(shù)進行修改。將字號設(shè)置為16,文本框內(nèi)容改為RGB2Gray,如圖11.21更改完之后一定要回車才能保存成功,其余文本框操作類似。圖11.21靜態(tài)文本框設(shè)置3)創(chuàng)建畫布。單擊“坐標(biāo)軸”按鈕,添加相同大小的兩個畫布,用于顯示圖片。如圖11.22所示。圖11.22創(chuàng)建畫布4)創(chuàng)建按鈕。單擊“按鈕”按鈕,添加系統(tǒng)按鈕,參數(shù)修改方式與靜態(tài)文本框相同。如圖所示。圖11.23創(chuàng)建按鈕5)單擊“運行”按鈕,可以預(yù)覽界面效果。如圖所示。圖11.24預(yù)覽效果11.6.3
系統(tǒng)代碼編輯
在單擊“運行”按鈕生成的m文件里對系統(tǒng)代碼進行編輯。(1)變量初始化系統(tǒng)中變量及圖形界面的元素都在handles句柄結(jié)構(gòu)體中,因此需在handles中加變量屬性,如下圖所示為對變量進行初始化。圖11.25變量初始化(2)按鈕制作及顯示
①按鈕1即pushbutton1的運行代碼。首先選擇圖片文件,然后判斷是否選擇圖片,若是,則將圖片信息賦值給imgdata,并在axes1中進行顯示,最后將圖片信息保存到handles結(jié)構(gòu)體中并對結(jié)構(gòu)體進行更新,否則彈出錯誤對話框。圖11.26
按鈕1制作
②按鈕2即pushbutton2運行代碼。對選擇的圖片進行灰度化處理,并在并在axes2中進行顯示。圖11.27
按鈕2顯示系統(tǒng)運行結(jié)果展示(1)點擊“運行”,出現(xiàn)系統(tǒng)主界面圖。圖11.28
系統(tǒng)主界面(2)點擊“OpenRGBimage”按鈕選擇圖片,若正確選擇圖片,則正常顯示,否則創(chuàng)建錯誤對話框。圖11.29選擇圖像圖11.30加載圖像圖11.31
未選擇圖像(3)點擊“ConvertRGBtoGray”,顯示處理后結(jié)果圖。圖11.32處理結(jié)果顯示11.6.4毀損古壁畫虛擬修復(fù)展示系統(tǒng)關(guān)鍵代碼functionvarargout=xitong(varargin)%XITONGMATLABcodeforxitong.fig.XITONG,byitself,createsanewXITONGorraisestheexistingsingleton*.H=XITONGreturnsthehandletoanewXITONGorthehandletotheexistingsingleton*.%XITONG('CALLBACK',hObject,eventData,handles,...)callsthelocalfunctionnamedCALLBACKinXITONG.Mwiththegiveninputarguments.%XITONG('Property','Value',...)createsanewXITONGorraisestheexistingsingleton*.Startingfromtheleft,propertyvaluepairsareappliedtotheGUIbeforexitong_OpeningFcngetscalled.Anunrecognizedpropertynameorinvalidvaluemakespropertyapplicationstop.Allinputsarepassedtoxitong_OpeningFcnviavarargin.LastModifiedbyGUIDEv2.519-Mar-202023:19:14.%Begininitializationcode-DONOTEDITgui_Singleton=1;gui_State=struct('gui_Name',mfilename,...,'gui_Singleton',gui_Singleton,...,'gui_OpeningFcn',@xitong_OpeningFcn,...,'gui_OutputFcn',@xitong_OutputFcn,...,'gui_LayoutFcn',[],...,'gui_Callback',[]);ifnargin&&ischar(varargin{1})gui_State.gui_Callback=str2func(varargin{1});endifnargout[varargout{1:nargout}]=gui_mainfcn(gui_State,varargin{:});elsegui_mainfcn(gui_State,varargin{:});end%Endinitializationcode-DONOTEDIT%---Executesjustbeforexitongismadevisible.functionxitong_OpeningFcn(hObject,eventdata,handles,varargin)%Choosedefaultcommandlineoutputforxitonghandles.output=hObject;%Updatehandlesstructureguidata(hObject,handles);%UIWAITmakesxitongwaitforuserresponse(seeUIRESU
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024房地產(chǎn)經(jīng)紀(jì)人培訓(xùn)計劃:形象禮儀篇
- Excel2024版高級數(shù)據(jù)可視化技巧
- 創(chuàng)新思維下的2024年《畫漫畫》教案設(shè)計
- 2023年遼寧省大連市大學(xué)英語6級大學(xué)英語六級模擬考試(含答案)
- 術(shù)后鎮(zhèn)痛六大優(yōu)點及可能產(chǎn)生的副作用
- 2024年教育發(fā)展趨勢:《我有兩件寶》課件的未來展望
- 小學(xué)生校園欺凌主題班會教案
- 2024-2025學(xué)年高中數(shù)學(xué)第七章三角函數(shù)7.3三角函數(shù)的性質(zhì)與圖像7.3.1正弦函數(shù)的性質(zhì)與圖像精英同步練含解析新人教B版必修第三冊
- 2025屆高考?xì)v史統(tǒng)考一輪復(fù)習(xí)課后限時集訓(xùn)39專制下的啟蒙及理性之光與浪漫之聲含解析人民版
- 2024-2025學(xué)年八年級物理上冊2.3熔化和凝固考點突破與同步練習(xí)含解析新版蘇科版
- 四級翻譯完整版本
- 四川省眉山市2023-2024學(xué)年八年級上學(xué)期語文期中試卷(含答案)
- 2024年酒店轉(zhuǎn)讓居間協(xié)議
- 小學(xué)生安全教育與自我保護能力培養(yǎng)研究課題研究方案
- 2024年福建省公務(wù)員錄用考試《行測》答案及解析
- 美麗農(nóng)村路建設(shè)指南DB41-T 1935-2020
- 2024年大學(xué)試題(計算機科學(xué))-網(wǎng)絡(luò)工程設(shè)計與系統(tǒng)集成考試近5年真題集錦(頻考類試題)帶答案
- 落實《中小學(xué)德育工作指南》制定的實施方案
- 期中 (試題) -2024-2025學(xué)年譯林版(三起)英語三年級上冊
- 2023年制藥設(shè)備行業(yè)分析報告及未來五至十年行業(yè)發(fā)展報告
- 期中測試卷(試題)-2024-2025學(xué)年三年級上冊語文統(tǒng)編版
評論
0/150
提交評論