![第4章 圖像運算_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/17/624ff144-b957-42b7-aad8-afd124a537bc/624ff144-b957-42b7-aad8-afd124a537bc1.gif)
![第4章 圖像運算_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/17/624ff144-b957-42b7-aad8-afd124a537bc/624ff144-b957-42b7-aad8-afd124a537bc2.gif)
![第4章 圖像運算_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/17/624ff144-b957-42b7-aad8-afd124a537bc/624ff144-b957-42b7-aad8-afd124a537bc3.gif)
![第4章 圖像運算_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/17/624ff144-b957-42b7-aad8-afd124a537bc/624ff144-b957-42b7-aad8-afd124a537bc4.gif)
![第4章 圖像運算_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-10/17/624ff144-b957-42b7-aad8-afd124a537bc/624ff144-b957-42b7-aad8-afd124a537bc5.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第4章 圖像的運算 圖像的代數(shù)運算是指多幅圖像的加減乘圖像的代數(shù)運算是指多幅圖像的加減乘除運算和一般的線性運算。除運算和一般的線性運算。 圖像運算要求所有信息都是圖像且其灰圖像運算要求所有信息都是圖像且其灰度值都是非負整數(shù)值。度值都是非負整數(shù)值。主要內(nèi)容主要內(nèi)容4.1 點運算點運算4.2圖像的代數(shù)運算圖像的代數(shù)運算4.3圖像的邏輯運算圖像的邏輯運算4.4圖像的塊和鄰域處理圖像的塊和鄰域處理4.5圖像的幾何運算圖像的幾何運算4.1點運算點運算n用于改變圖像的灰度范圍分布。用于改變圖像的灰度范圍分布。n在對圖像各像素進行處理時,是輸入該在對圖像各像素進行處理時,是輸入該圖像本身會讀的運算方式。圖像
2、本身會讀的運算方式。n對圖像進行點運算時各像素間不發(fā)生關對圖像進行點運算時各像素間不發(fā)生關系,各像素的處理是獨立進行的。系,各像素的處理是獨立進行的。典型的點運算包括:典型的點運算包括:光度學標定:通過對圖像傳感器的非線性特性作出補償光度學標定:通過對圖像傳感器的非線性特性作出補償來反映某些物理特性,如光照度和光密度等。來反映某些物理特性,如光照度和光密度等。對比度增強:調(diào)整圖像的亮度和對比度,以便觀察。對比度增強:調(diào)整圖像的亮度和對比度,以便觀察。顯示標定:利用點運算使圖像能夠突出顯示出所有用戶顯示標定:利用點運算使圖像能夠突出顯示出所有用戶感興趣的特征。感興趣的特征。圖像分割:為圖像添加輪
3、廓線,通常作為后續(xù)運算中的圖像分割:為圖像添加輪廓線,通常作為后續(xù)運算中的邊界檢測。邊界檢測。圖像裁剪:將輸出圖像的灰度級限制在可用范圍內(nèi)。圖像裁剪:將輸出圖像的灰度級限制在可用范圍內(nèi)。例例1:使用灰度變換函數(shù)將一個灰度圖像進行線性點運算:使用灰度變換函數(shù)將一個灰度圖像進行線性點運算clcrice=imread(rice.png);J=double(rice);I=J*0.45+55;rice2=uint8(I);subplot(121);imshow(rice);xlabel(a)原始圖像原始圖像);subplot(122);imshow(rice2);xlabel(b)點運算后的圖像點運算
4、后的圖像);4.1圖像的代數(shù)運算圖像的代數(shù)運算4.1.1圖像的加運算圖像的加運算計算兩幅圖像矩陣對應像素值的和。計算兩幅圖像矩陣對應像素值的和。前提是兩幅圖像矩陣的大小和類型相同,前提是兩幅圖像矩陣的大小和類型相同,維數(shù)要相同。維數(shù)要相同。調(diào)用格式:調(diào)用格式:Z=imadd(X,Y)X、Y中的一個可以是常數(shù)。中的一個可以是常數(shù)。4.1.2圖像的減法運算圖像的減法運算 圖像減法稱為差分方法,是一種常用于檢測圖像變化圖像減法稱為差分方法,是一種常用于檢測圖像變化及運動物體的圖像處理方法??梢允褂脠D像減法來檢及運動物體的圖像處理方法??梢允褂脠D像減法來檢測一系列相同場景圖像的差異。測一系列相同場景圖
5、像的差異。 調(diào)用格式:調(diào)用格式: Z=imsubtract(X,Y) Z為輸入圖像為輸入圖像X與輸入圖像與輸入圖像Y相減的結(jié)果。減法操作有相減的結(jié)果。減法操作有時會導致某些像素值變?yōu)橐粋€負數(shù),此時,該函數(shù)自時會導致某些像素值變?yōu)橐粋€負數(shù),此時,該函數(shù)自動將這些負數(shù)截取為動將這些負數(shù)截取為0,可以調(diào)用,可以調(diào)用imabsdiff函數(shù),將函數(shù),將兩幅圖像相應像素差值的絕對值。兩幅圖像相應像素差值的絕對值。例例1:原始圖像減去背景圖像:原始圖像減去背景圖像I=imread(rice.png);subplot(121);imshow(I);xlabel(a)原始圖像原始圖像);background=i
6、mopen(I,strel(disk,15);Ip=imsubtract(I,background);subplot(122);imshow(Ip,);xlabel(b)去背景效果去背景效果);4.1.3圖像乘法運算圖像乘法運算 乘法運算可以實現(xiàn)掩膜操作,即屏蔽掉圖像的乘法運算可以實現(xiàn)掩膜操作,即屏蔽掉圖像的某些部分。一幅圖乘以一個常數(shù)通常被稱為縮某些部分。一幅圖乘以一個常數(shù)通常被稱為縮放。如果縮放因數(shù)大于放。如果縮放因數(shù)大于1,那么增強圖像的亮,那么增強圖像的亮度,如果縮放因數(shù)小于度,如果縮放因數(shù)小于1則會使圖像變暗。則會使圖像變暗。 調(diào)用格式:調(diào)用格式: Z=immultiply(X,Y)
7、 對兩幅輸入圖像矩陣對應元素進行點乘。對兩幅輸入圖像矩陣對應元素進行點乘。 4.1.4圖像除法運算圖像除法運算 除法運算可用于校正成像設備的非線性影響,除法運算可用于校正成像設備的非線性影響,可以用來檢測兩幅圖像的區(qū)別,但除法操作得可以用來檢測兩幅圖像的區(qū)別,但除法操作得出的是相應像素值的變換比例。出的是相應像素值的變換比例。 調(diào)用格式:調(diào)用格式: Z=imdivide(X,Y) 對兩幅輸入圖像矩陣對應元素進行點乘。對兩幅輸入圖像矩陣對應元素進行點乘。 4.1.5圖像差的絕對值運算圖像差的絕對值運算 除法運算可用于校正成像設備的非線性影響,除法運算可用于校正成像設備的非線性影響,可以用來檢測兩
8、幅圖像的區(qū)別,但除法操作得可以用來檢測兩幅圖像的區(qū)別,但除法操作得出的是相應像素值的變換比例。出的是相應像素值的變換比例。 調(diào)用格式:調(diào)用格式: Z=imabsdiff(X,Y) 對兩幅輸入圖像矩陣對應元素進行點乘。對兩幅輸入圖像矩陣對應元素進行點乘。 4.1.6圖像的補運算圖像的補運算 適用于各種圖像格式,如果是二進制圖像,將適用于各種圖像格式,如果是二進制圖像,將對圖像的每一位求補;如果是對圖像的每一位求補;如果是RGB格式的圖像,格式的圖像,用像素值的最大值減去圖像的原始值,得到輸用像素值的最大值減去圖像的原始值,得到輸出圖像相應位置的像素值。出圖像相應位置的像素值。 調(diào)用格式:調(diào)用格式
9、: IM2=imcomplement(IM)4.1.7圖像的線性運算圖像的線性運算 調(diào)用格式:調(diào)用格式:Z=imlincomb(K1,A1, K2,A2,Kn,An)Z=imlincomb(K1,A1, K2,A2,Kn,An,K)Z=imlincomb(K1,A1, K2,A2,Kn,An,K,output_class)output_class用來設定輸出結(jié)果用來設定輸出結(jié)果Z的數(shù)據(jù)類型,如的數(shù)據(jù)類型,如uint16或或double。4.1.8圖像的非線性運算圖像的非線性運算 在線性運算中,像素點間值的變化是一種比例關系。在線性運算中,像素點間值的變化是一種比例關系。在實際中需要對某個圖像特
10、性進行放大(縮?。?,在實際中需要對某個圖像特性進行放大(縮小),特別是在進行圖像增強的過程中,為了消除圖像失特別是在進行圖像增強的過程中,為了消除圖像失真,非線性運算就顯得格外有用。冪運算、指數(shù)運真,非線性運算就顯得格外有用。冪運算、指數(shù)運算、對數(shù)運算、根運算等都是為簡單的非線性映射算、對數(shù)運算、根運算等都是為簡單的非線性映射算法。算法。4.1.9圖像的邏輯運算圖像的邏輯運算 圖像的邏輯運算在圖像增強、圖像識別、圖像圖像的邏輯運算在圖像增強、圖像識別、圖像復原和區(qū)域分割等領域有著廣泛的應用,邏輯復原和區(qū)域分割等領域有著廣泛的應用,邏輯運算不僅關注圖像像素點的數(shù)值變換,而且重運算不僅關注圖像像素
11、點的數(shù)值變換,而且重點在于位變換的情況。點在于位變換的情況。 I = imread(cameraman.tif);J=imread(rice.png);I1=im2bw(I); %轉(zhuǎn)化為二值圖像轉(zhuǎn)化為二值圖像J1=im2bw(J);K1=I1 & J1;%邏輯與運算邏輯與運算K2=I1 | J1;%邏輯或運算邏輯或運算K3=I1;%邏輯非運算邏輯非運算K4=xor(I1,J1);%異或運算異或運算figure;%依次顯示四幅圖像依次顯示四幅圖像subplot(221);imshow(I); subplot(222);imshow(J);subplot(223);imshow(I1); subp
12、lot(224);imshow(J1);figure;%依次顯示四幅圖像依次顯示四幅圖像subplot(221);imshow(K1); subplot(222);imshow(K2);subplot(223);imshow(K3); subplot(224);imshow(K4);例10 4.2.1圖像調(diào)整大小圖像調(diào)整大小在保持原有圖像形狀的基礎上對圖像大小進行擴大或縮小。在保持原有圖像形狀的基礎上對圖像大小進行擴大或縮小。 imresize調(diào)用格式:調(diào)用格式:B=imresiz(A,scale) B=imresiz(A,mrows ncols)B=imresiz(A,scale,metho
13、d)scale:縮放比例,縮放比例,1放大。放大。method:指定插值運算方法指定插值運算方法mrows ncols指定縮放后圖像的行數(shù)和列數(shù)。指定縮放后圖像的行數(shù)和列數(shù)。exa3114.2圖像幾何運算圖像幾何運算4.2.2圖像旋轉(zhuǎn)圖像旋轉(zhuǎn) 數(shù)字圖像旋轉(zhuǎn)時,各像素的坐標將會發(fā)生變化,是的旋轉(zhuǎn)后不能正常落在數(shù)字圖像旋轉(zhuǎn)時,各像素的坐標將會發(fā)生變化,是的旋轉(zhuǎn)后不能正常落在整數(shù)坐標處,需要插值。整數(shù)坐標處,需要插值。 imrotate調(diào)用格式:調(diào)用格式:B=imresiz(A,angle) B=imresiz(A,angle,method)B=imresiz(A, angle,method,bbo
14、x)angle:旋轉(zhuǎn)角度;旋轉(zhuǎn)角度;method:指定插值運算方法指定插值運算方法bbox:有兩個值有兩個值crop,loose.crop表示旋轉(zhuǎn)后的圖像都對剪切中間的部分進行增大,放回和原圖大小一致的表示旋轉(zhuǎn)后的圖像都對剪切中間的部分進行增大,放回和原圖大小一致的圖像圖像.loose表示返回旋轉(zhuǎn)后完整大小的圖像,默認值。表示返回旋轉(zhuǎn)后完整大小的圖像,默認值。exa3144.2.3圖像的裁剪圖像的裁剪 取圖像的一部分取圖像的一部分 imcrop調(diào)用格式:調(diào)用格式:I=imcrop:對當前窗體中的圖片顯示剪切操作狀態(tài),交互式操作,用鼠標在圖對當前窗體中的圖片顯示剪切操作狀態(tài),交互式操作,用鼠標在
15、圖像中選中感興趣的區(qū)域,然后這個感興趣的區(qū)域就會存儲在矩陣像中選中感興趣的區(qū)域,然后這個感興趣的區(qū)域就會存儲在矩陣I中。中。 I2=imcrop(I)或或X2=imcrop(X,map)灰度圖像索引圖像剪切灰度圖像索引圖像剪切I2=imcrop(I,rect)或或X2=imcrop(X,map,rect)指定矩形區(qū)域指定矩形區(qū)域rect進行剪切操作,進行剪切操作,rect規(guī)定了裁剪后的圖像區(qū)域,為一個四元規(guī)定了裁剪后的圖像區(qū)域,為一個四元素向量素向量xmin,ymin,width,height,四個分量表示矩形的長度及寬度。四個分量表示矩形的長度及寬度。exa313例例13:裁剪:裁剪I =
16、imread(circuit.tif);figure,imshow(I)I0=imcrop;figure,imshow(I0);4.2.4圖像插值圖像插值圖像幾何運算在圖像處理領域的應用主要是二維插值。圖像幾何運算在圖像處理領域的應用主要是二維插值。Matlab提供了三種插值方法:提供了三種插值方法:最近鄰插值最近鄰插值(Nearest neighbor interpolation)雙線性插值雙線性插值(Bilinear interpolation)雙三次插值雙三次插值(Bicubic interpolation)1、最近鄰插值、最近鄰插值 只考慮最近像素的值,算法最快,但插值后容易出現(xiàn)馬賽克
17、只考慮最近像素的值,算法最快,但插值后容易出現(xiàn)馬賽克和鋸齒。對于索引圖像來說,它是唯一可行的方法。和鋸齒。對于索引圖像來說,它是唯一可行的方法。2、雙線性插值、雙線性插值 在該方法中輸出像素的值是它在輸入圖像中在該方法中輸出像素的值是它在輸入圖像中2X2的領域內(nèi)像的領域內(nèi)像素的加權平均值,它根據(jù)某像素周圍素的加權平均值,它根據(jù)某像素周圍4個像素的灰度值在水平和個像素的灰度值在水平和垂直兩個方向上對其插值。垂直兩個方向上對其插值。3、雙三次插值、雙三次插值 該插值的領域大小為該插值的領域大小為4X4,它的插值效果比較好,但相應的它的插值效果比較好,但相應的計算量較大。計算量較大。 這三種插值方法
18、的運算方式基本類似。對于每一種來說,為了確定這三種插值方法的運算方式基本類似。對于每一種來說,為了確定插值像素點的數(shù)值,必須在輸入圖像中查找到與輸出像素對應的點。這插值像素點的數(shù)值,必須在輸入圖像中查找到與輸出像素對應的點。這三種插值方法的區(qū)別在于其三種插值方法的區(qū)別在于其對象像素點賦值對象像素點賦值的不同。的不同。(1)最近鄰插值輸出像素的賦值為當前點的像素點。最近鄰插值輸出像素的賦值為當前點的像素點。(2)雙線性插值輸出像素的賦值為雙線性插值輸出像素的賦值為2X2矩陣所包含的有效點的加權平均值。矩陣所包含的有效點的加權平均值。(3)雙三次插值輸出像素的賦值為雙三次插值輸出像素的賦值為4X4
19、矩陣所包含的有效點的加權平均值。矩陣所包含的有效點的加權平均值。在在matlab圖像工具箱中提供了圖像工具箱中提供了interp2函數(shù)來實現(xiàn)插值運算。函數(shù)來實現(xiàn)插值運算。調(diào)用格式:調(diào)用格式:ZI=interp2(X,Y,Z,XI,YI,method)X,Y是圖像是圖像Z的橫坐標和縱坐標向量;的橫坐標和縱坐標向量;XI,YI是插值后的橫坐標和縱坐標向量;是插值后的橫坐標和縱坐標向量;method是插值方法,可以為:是插值方法,可以為:(1)nearest:最近鄰插值。:最近鄰插值。(2)liner:雙線性插值(默認項)。雙線性插值(默認項)。(3)spline:三次樣條插值。三次樣條插值。(4)
20、cubic:立方插值。立方插值。I=imread(tire.tif);m,n=size(I);x=1:n;y=1:m;x,y=meshgrid(x,y);%生成網(wǎng)格矩陣生成網(wǎng)格矩陣x1=1:4:n;y1=1:4:m;x1,y1=meshgrid(x1,y1);%生成網(wǎng)格矩陣生成網(wǎng)格矩陣I1=interp2(x,y,I,x1,y1,nearest);%對圖像進行最近鄰插值對圖像進行最近鄰插值subplot(121);imshow(I);subplot(122);imshow(I1);4.2.5鄰域與塊處理鄰域與塊處理鄰域運算:鄰域運算:在對圖像進行處理時,不但要輸入該像素本身的灰度,還要以運算在
21、對圖像進行處理時,不但要輸入該像素本身的灰度,還要以運算的方式輸入以該像素為中心的某局部區(qū)域(即鄰域)中的一些像素的方式輸入以該像素為中心的某局部區(qū)域(即鄰域)中的一些像素的灰度,這種圖像運算稱為鄰域運算。由于鄰域運算能將像素周圍的灰度,這種圖像運算稱為鄰域運算。由于鄰域運算能將像素周圍鄰域內(nèi)的像素狀態(tài)反映在處理結(jié)果中,因而便于實現(xiàn)多種復雜圖像鄰域內(nèi)的像素狀態(tài)反映在處理結(jié)果中,因而便于實現(xiàn)多種復雜圖像的處理。的處理。1、滑動鄰域操作、滑動鄰域操作滑動鄰域操作每次在一個像素上進行。輸出圖像的每個像素值都是滑動鄰域操作每次在一個像素上進行。輸出圖像的每個像素值都是輸入圖像在這個像素的鄰域內(nèi)進行指定
22、的運算得到的像素值。鄰域輸入圖像在這個像素的鄰域內(nèi)進行指定的運算得到的像素值。鄰域是一個矩形塊,在圖像矩陣中從一個像素移到另一個像素的時候,是一個矩形塊,在圖像矩陣中從一個像素移到另一個像素的時候,鄰域塊向同一個方向滑動。鄰域塊向同一個方向滑動。通常鄰域是指一個形狀遠遠小于圖像尺寸的規(guī)則的像素塊,例如通常鄰域是指一個形狀遠遠小于圖像尺寸的規(guī)則的像素塊,例如2X2、3X3、4X4的正方形,或用近似表示圓及橢圓等形狀的多邊形。的正方形,或用近似表示圓及橢圓等形狀的多邊形。 如圖顯示了一個如圖顯示了一個2X3的鄰的鄰域塊在一個域塊在一個6X5的矩陣中的矩陣中滑動的情況,其中心像素滑動的情況,其中心像
23、素用黑點標出。用黑點標出。中心像素是輸入圖像中要中心像素是輸入圖像中要處理的像素。如果鄰域的處理的像素。如果鄰域的行數(shù)和列數(shù)都為奇數(shù),則行數(shù)和列數(shù)都為奇數(shù),則中心像素位于鄰域的中心。中心像素位于鄰域的中心。如果鄰域的行數(shù)和列數(shù)中如果鄰域的行數(shù)和列數(shù)中有一個不為奇數(shù),則中心有一個不為奇數(shù),則中心像素為鄰域中心偏左或偏像素為鄰域中心偏左或偏上的像素。上的像素。 對于任何一個鄰域矩陣,其中心像素的坐標是:對于任何一個鄰域矩陣,其中心像素的坐標是:Floor(m n+1)/2),如對于一個如對于一個2X2的鄰域,其中心像素為左上角的像素。的鄰域,其中心像素為左上角的像素?;瑒余徲虿僮鞯囊话闼惴ㄈ缦拢夯?/p>
24、動鄰域操作的一般算法如下:(1)選擇一個像素;選擇一個像素;(2)確定這個像素的鄰域確定這個像素的鄰域(3)對鄰域的像素值應用指定的函數(shù)進行計算,該函數(shù)要返回標量對鄰域的像素值應用指定的函數(shù)進行計算,該函數(shù)要返回標量(4)返回輸出圖像的像素值,其位置為輸入圖像鄰域中的中心位置;返回輸出圖像的像素值,其位置為輸入圖像鄰域中的中心位置;(5)對圖像中的每個像素重復上面對圖像中的每個像素重復上面4個操作。個操作。 其中指定的函數(shù)可以是求取像素平均值的操作,首先將鄰域內(nèi)的像素其中指定的函數(shù)可以是求取像素平均值的操作,首先將鄰域內(nèi)的像素值加起來,然后除以鄰域內(nèi)像素的個數(shù),最后將返回的值作為輸出圖像的值加
25、起來,然后除以鄰域內(nèi)像素的個數(shù),最后將返回的值作為輸出圖像的值。值。 當中心像素位于圖像邊緣時,則對應鄰域有可能包含部分不屬于圖像當中心像素位于圖像邊緣時,則對應鄰域有可能包含部分不屬于圖像的像素,這時通常用多個的像素,這時通常用多個0來填充圖形邊界。來填充圖形邊界。在在matlab中,可以用中,可以用nlfilter函數(shù)來進行滑動鄰域操作函數(shù)來進行滑動鄰域操作調(diào)用格式:調(diào)用格式:B=nlfilter(A,m n,fun)其中,其中,A是要處理的圖像是要處理的圖像m n規(guī)定了鄰域塊的大??;規(guī)定了鄰域塊的大??;fun是指定的函數(shù)。是指定的函數(shù)。例例17:滑動鄰域操作實例:滑動鄰域操作實例I=im
26、read(tire.tif);f=(x)max(x(:);%求最大值函數(shù)求最大值函數(shù)I2=nlfilter(I,3 3,f);%滑動鄰域操作求鄰域內(nèi)的最大值滑動鄰域操作求鄰域內(nèi)的最大值subplot(121);imshow(I);subplot(122);imshow(I2);在這個程序中,首先生成一個求最大值的內(nèi)斂函數(shù),然后調(diào)用滑動領域在這個程序中,首先生成一個求最大值的內(nèi)斂函數(shù),然后調(diào)用滑動領域操作函數(shù)求鄰域內(nèi)最大值,這樣每個像素的值都為操作函數(shù)求鄰域內(nèi)最大值,這樣每個像素的值都為3X3鄰域內(nèi)的最大值。鄰域內(nèi)的最大值。2、colfilt函數(shù)函數(shù)實現(xiàn)快速的鄰域操作。當需要對圖像的局部實現(xiàn)運算
27、時,可以使用該函數(shù)。實現(xiàn)快速的鄰域操作。當需要對圖像的局部實現(xiàn)運算時,可以使用該函數(shù)。常用調(diào)用格式:常用調(diào)用格式:(1)B=colfilt(A,m n,block_type,fun) mXn:圖像塊的尺寸圖像塊的尺寸 block_ type為指定塊的移動方式為指定塊的移動方式 distinct:表示圖像不重疊表示圖像不重疊 sliding:表示圖像塊滑動。表示圖像塊滑動。 fun為運算函數(shù),其形式為為運算函數(shù),其形式為y=fun(x)(2)B=colfilt(A,indexed,)將將A作為索引圖像處理作為索引圖像處理colfit函數(shù)為圖像中每個像素建立一個列向量,向量的各元素對應該函數(shù)為圖像
28、中每個像素建立一個列向量,向量的各元素對應該像素的鄰域,如一個大小為像素的鄰域,如一個大小為6X5的圖像,對其按塊大小為的圖像,對其按塊大小為2X3進行鄰進行鄰域處理。域處理。 colfit函數(shù)為圖像建立一個函數(shù)為圖像建立一個30列的矩陣,每列有列的矩陣,每列有6個元素。個元素。例例18:clcclear allI=imread(tire.tif);I1=uint8(colfilt(I,5 5,sliding,mean);%用列處理進行滑動鄰用列處理進行滑動鄰域操作域操作f=(x)ones(25,1)*mean(x);%進行分塊處理操作的函數(shù)進行分塊處理操作的函數(shù)I2=imread(camer
29、aman.tif);I3=uint8(colfilt(double(I2),5 5,distinct,f);%用列處理進行滑動用列處理進行滑動鄰域操作鄰域操作subplot(221);imshow(I);subplot(222);imshow(I1);subplot(223);imshow(I2);subplot(224);imshow(I3)3、分離塊操作、分離塊操作 在分離塊操作中,把一個圖像矩陣分成在分離塊操作中,把一個圖像矩陣分成mXn塊,這些分離塊從圖像的塊,這些分離塊從圖像的左上角無重疊地開始覆蓋圖像矩陣。如果這些分離塊不能精確地匹配圖像,左上角無重疊地開始覆蓋圖像矩陣。如果這些分
30、離塊不能精確地匹配圖像,那么圖像矩陣將補那么圖像矩陣將補0填充。填充。blkproc函數(shù)實現(xiàn)。函數(shù)實現(xiàn)。常用調(diào)用格式:常用調(diào)用格式:(1)B=blkproc(A,m n,fun) m n:要處理的分離塊的大小要處理的分離塊的大小 fun為運算函數(shù),其形式為為運算函數(shù),其形式為y=fun(x)(2)B=blkproc(A,m n,morder,norder,fun)morder,norder重疊的區(qū)域大小重疊的區(qū)域大小例例19:I=imread(tire.tif);%該函數(shù)先求矩陣該函數(shù)先求矩陣x均值,然后乘以全均值,然后乘以全1矩陣,再取整矩陣,再取整f=(x)uint8(round(mean
31、2(x)*ones(size(x);I2=blkproc(I,2 2,f);subplot(121);imshow(I);subplot(122);imshow(I2);分離塊操作例題分離塊操作例題4.3區(qū)域處理區(qū)域處理 在進行圖像處理時,有時只需對圖像中的在進行圖像處理時,有時只需對圖像中的某個特定區(qū)域進行處理,并不需要對整個圖像某個特定區(qū)域進行處理,并不需要對整個圖像進行處理,比如要對用戶選定的一個區(qū)域作均進行處理,比如要對用戶選定的一個區(qū)域作均值濾波或?qū)Ρ榷仍鰪姷牟僮鳌V禐V波或?qū)Ρ榷仍鰪姷牟僮鳌?4.3.1 指定目標區(qū)域指定目標區(qū)域 4.3.2區(qū)域濾波區(qū)域濾波 4.3.3區(qū)域填充處理區(qū)域
32、填充處理4.3.1 指定目標區(qū)域指定目標區(qū)域 區(qū)域區(qū)域(ROI)處理:只對部分區(qū)域進行濾波處理或其它的操作??梢蕴幚恚褐粚Σ糠謪^(qū)域進行濾波處理或其它的操作??梢酝ㄟ^生成一個二值掩膜,也就是一個二值圖像來實現(xiàn)區(qū)域選擇,該二值通過生成一個二值掩膜,也就是一個二值圖像來實現(xiàn)區(qū)域選擇,該二值圖像和需要處理的圖像尺寸必須相同,將需要處理的圖像像素設定為圖像和需要處理的圖像尺寸必須相同,將需要處理的圖像像素設定為1,其余像素設定為其余像素設定為0. 可以設定多個可以設定多個ROI,區(qū)域可以是自然的形狀,比如包含連續(xù)像素的,區(qū)域可以是自然的形狀,比如包含連續(xù)像素的多邊形,也可以是某一個灰度范圍的所有像素。多
33、邊形,也可以是某一個灰度范圍的所有像素。1、多邊形選擇函數(shù)、多邊形選擇函數(shù)roipoly該函數(shù)輸出與輸入圖像大小一致的二值圖像該函數(shù)輸出與輸入圖像大小一致的二值圖像BW,選中區(qū)域值為,選中區(qū)域值為1,其余部分為其余部分為0.調(diào)用格式:調(diào)用格式:(1)手動選擇手動選擇BW=roipoly或或BW=roipoly(I):通過鼠標操作來設定多邊形區(qū)域的角度,通過鼠標操作來設定多邊形區(qū)域的角度,可以用可以用鍵撤銷選擇,鍵撤銷選擇,鍵確認選擇。鍵確認選擇。BW,xi,yi=roipoly():手動選擇多邊形區(qū)域,返回多邊形頂點的坐標。手動選擇多邊形區(qū)域,返回多邊形頂點的坐標。x,y,BW,xi,yi=r
34、oipoly()手動選擇多邊形區(qū)域,返回多邊形頂點在指手動選擇多邊形區(qū)域,返回多邊形頂點在指定坐標系下的坐標。定坐標系下的坐標。(2)非手動非手動BW=roipoly(I,c,r):用向量用向量c和和r指定多邊形各頂點的坐標。指定多邊形各頂點的坐標。BW=roipoly(x,y,I,xi,yi):用矢量用矢量x和和y建立非默認的坐標系,然后在指定建立非默認的坐標系,然后在指定的坐標系下選擇向量的坐標系下選擇向量xi、yi指定的多邊形區(qū)域。指定的多邊形區(qū)域。手動方式選擇區(qū)域手動方式選擇區(qū)域例例22:clear allI=imread(123.tif);imshow(I);BW=roipoly;i
35、mshow(BW)根據(jù)指定的坐標選擇區(qū)域根據(jù)指定的坐標選擇區(qū)域例例23clear allI=imread(123.tif);subplot(121);imshow(I);c=222 272 300 270 221 194;r=21 21 75 121 121 75;BW=roipoly(I,c,r);subplot(122);imshow(BW)2、roicolor函數(shù)函數(shù)該函數(shù)用于按灰度選擇區(qū)域該函數(shù)用于按灰度選擇區(qū)域調(diào)用格式:調(diào)用格式:BW=roicolor(A,low,high)按指定的灰度范圍按指定的灰度范圍low,high分割圖像,返回代表掩膜圖像的數(shù)據(jù)矩陣分割圖像,返回代表掩膜圖像的數(shù)據(jù)矩陣BW。BW=roicolor(A,v):按指定矢量按指定矢量v中的灰度值來選擇區(qū)域中的灰度值來選擇區(qū)域clear allclcload treesBW=roicolor(X,10,20);subplot(121);imshow(X,map);subplot(122);imshow(BW)3、poly2mask函數(shù)函數(shù)使用使用roipoly生成指定圖像的二
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年個人股權投資協(xié)議常用版(三篇)
- 2025年五年級老師個人的年度工作總結(jié)(五篇)
- 2025年個人攝影服務合同模板(2篇)
- 2025年中學春季學期六年級組工作總結(jié)(四篇)
- 專題01 三角函數(shù)的圖像與性質(zhì)(解析版)
- 2025年個人飯店承包經(jīng)營合同經(jīng)典版(三篇)
- 木材檢驗與運輸合同
- 汽車輪胎運輸協(xié)議范本
- 天主教堂裝修意向協(xié)議
- 學校裝修施工合同模板
- 人口分布 高一地理下學期人教版 必修第二冊
- GH/T 1030-2004松花粉
- 部編版六年級下冊語文第3單元習作例文+習作PPT
- 四年級上冊英語試題-Module 9 Unit 1 What happened to your head--外研社(一起)(含答案)
- 辦理工傷案件綜合應用實務手冊
- 子宮內(nèi)膜異位癥診療指南
- 《高級計量經(jīng)濟學》-上課講義課件
- 《現(xiàn)代氣候?qū)W》研究生全套教學課件
- 護理診斷及護理措施128條護理診斷護理措施
- 九年級物理總復習教案
- 天然飲用山泉水項目投資規(guī)劃建設方案
評論
0/150
提交評論