版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第4章 圖像的運(yùn)算 圖像的代數(shù)運(yùn)算是指多幅圖像的加減乘圖像的代數(shù)運(yùn)算是指多幅圖像的加減乘 除運(yùn)算和一般的線性運(yùn)算。除運(yùn)算和一般的線性運(yùn)算。 圖像運(yùn)算要求所有信息都是圖像且其灰圖像運(yùn)算要求所有信息都是圖像且其灰 度值都是非負(fù)整數(shù)值。度值都是非負(fù)整數(shù)值。 主要內(nèi)容主要內(nèi)容 4.1 點(diǎn)運(yùn)算點(diǎn)運(yùn)算 4.2圖像的代數(shù)運(yùn)算圖像的代數(shù)運(yùn)算 4.3圖像的邏輯運(yùn)算圖像的邏輯運(yùn)算 4.4圖像的塊和鄰域處理圖像的塊和鄰域處理 4.5圖像的幾何運(yùn)算圖像的幾何運(yùn)算 4.1點(diǎn)運(yùn)算點(diǎn)運(yùn)算 n用于改變圖像的灰度范圍分布。用于改變圖像的灰度范圍分布。 n在對(duì)圖像各像素進(jìn)行處理時(shí),是輸入該在對(duì)圖像各像素進(jìn)行處理時(shí),是輸入該 圖像
2、本身會(huì)讀的運(yùn)算方式。圖像本身會(huì)讀的運(yùn)算方式。 n對(duì)圖像進(jìn)行點(diǎn)運(yùn)算時(shí)各像素間不發(fā)生關(guān)對(duì)圖像進(jìn)行點(diǎn)運(yùn)算時(shí)各像素間不發(fā)生關(guān) 系,各像素的處理是獨(dú)立進(jìn)行的。系,各像素的處理是獨(dú)立進(jìn)行的。 典型的點(diǎn)運(yùn)算包括:典型的點(diǎn)運(yùn)算包括: 光度學(xué)標(biāo)定:通過(guò)對(duì)圖像傳感器的非線性特性作出補(bǔ)償光度學(xué)標(biāo)定:通過(guò)對(duì)圖像傳感器的非線性特性作出補(bǔ)償 來(lái)反映某些物理特性,如光照度和光密度等。來(lái)反映某些物理特性,如光照度和光密度等。 對(duì)比度增強(qiáng):調(diào)整圖像的亮度和對(duì)比度,以便觀察。對(duì)比度增強(qiáng):調(diào)整圖像的亮度和對(duì)比度,以便觀察。 顯示標(biāo)定:利用點(diǎn)運(yùn)算使圖像能夠突出顯示出所有用戶顯示標(biāo)定:利用點(diǎn)運(yùn)算使圖像能夠突出顯示出所有用戶 感興趣的特
3、征。感興趣的特征。 圖像分割:為圖像添加輪廓線,通常作為后續(xù)運(yùn)算中的圖像分割:為圖像添加輪廓線,通常作為后續(xù)運(yùn)算中的 邊界檢測(cè)。邊界檢測(cè)。 圖像裁剪:將輸出圖像的灰度級(jí)限制在可用范圍內(nèi)。圖像裁剪:將輸出圖像的灰度級(jí)限制在可用范圍內(nèi)。 例例1:使用灰度變換函數(shù)將一個(gè)灰度圖像進(jìn)行線性點(diǎn)運(yùn)算:使用灰度變換函數(shù)將一個(gè)灰度圖像進(jìn)行線性點(diǎn)運(yùn)算 clc rice=imread(rice.png); J=double(rice); I=J*0.45+55; rice2=uint8(I); subplot(121);imshow(rice); xlabel(a)原始圖像原始圖像); subplot(122);i
4、mshow(rice2); xlabel(b)點(diǎn)運(yùn)算后的圖像點(diǎn)運(yùn)算后的圖像); 4.1圖像的代數(shù)運(yùn)算圖像的代數(shù)運(yùn)算 4.1.1圖像的加運(yùn)算圖像的加運(yùn)算 計(jì)算兩幅圖像矩陣對(duì)應(yīng)像素值的和。計(jì)算兩幅圖像矩陣對(duì)應(yīng)像素值的和。 前提是兩幅圖像矩陣的大小和類型相同,前提是兩幅圖像矩陣的大小和類型相同, 維數(shù)要相同。維數(shù)要相同。 調(diào)用格式:調(diào)用格式: Z=imadd(X,Y) X、Y中的一個(gè)可以是常數(shù)。中的一個(gè)可以是常數(shù)。 4.1.2圖像的減法運(yùn)算圖像的減法運(yùn)算 圖像減法稱為差分方法,是一種常用于檢測(cè)圖像變化圖像減法稱為差分方法,是一種常用于檢測(cè)圖像變化 及運(yùn)動(dòng)物體的圖像處理方法。可以使用圖像減法來(lái)檢及運(yùn)動(dòng)
5、物體的圖像處理方法。可以使用圖像減法來(lái)檢 測(cè)一系列相同場(chǎng)景圖像的差異。測(cè)一系列相同場(chǎng)景圖像的差異。 調(diào)用格式:調(diào)用格式: Z=imsubtract(X,Y) Z為輸入圖像為輸入圖像X與輸入圖像與輸入圖像Y相減的結(jié)果。減法操作有相減的結(jié)果。減法操作有 時(shí)會(huì)導(dǎo)致某些像素值變?yōu)橐粋€(gè)負(fù)數(shù),此時(shí),該函數(shù)自時(shí)會(huì)導(dǎo)致某些像素值變?yōu)橐粋€(gè)負(fù)數(shù),此時(shí),該函數(shù)自 動(dòng)將這些負(fù)數(shù)截取為動(dòng)將這些負(fù)數(shù)截取為0,可以調(diào)用,可以調(diào)用imabsdiff函數(shù),將函數(shù),將 兩幅圖像相應(yīng)像素差值的絕對(duì)值。兩幅圖像相應(yīng)像素差值的絕對(duì)值。 例例1:原始圖像減去背景圖像:原始圖像減去背景圖像 I=imread(rice.png); subp
6、lot(121);imshow(I); xlabel(a)原始圖像原始圖像); background=imopen(I,strel(disk,15); Ip=imsubtract(I,background); subplot(122);imshow(Ip,); xlabel(b)去背景效果去背景效果); 4.1.3圖像乘法運(yùn)算圖像乘法運(yùn)算 乘法運(yùn)算可以實(shí)現(xiàn)掩膜操作,即屏蔽掉圖像的乘法運(yùn)算可以實(shí)現(xiàn)掩膜操作,即屏蔽掉圖像的 某些部分。一幅圖乘以一個(gè)常數(shù)通常被稱為縮某些部分。一幅圖乘以一個(gè)常數(shù)通常被稱為縮 放。如果縮放因數(shù)大于放。如果縮放因數(shù)大于1,那么增強(qiáng)圖像的亮,那么增強(qiáng)圖像的亮 度,如果縮放因
7、數(shù)小于度,如果縮放因數(shù)小于1則會(huì)使圖像變暗。則會(huì)使圖像變暗。 調(diào)用格式:調(diào)用格式: Z=immultiply(X,Y) 對(duì)兩幅輸入圖像矩陣對(duì)應(yīng)元素進(jìn)行點(diǎn)乘。對(duì)兩幅輸入圖像矩陣對(duì)應(yīng)元素進(jìn)行點(diǎn)乘。 4.1.4圖像除法運(yùn)算圖像除法運(yùn)算 除法運(yùn)算可用于校正成像設(shè)備的非線性影響,除法運(yùn)算可用于校正成像設(shè)備的非線性影響, 可以用來(lái)檢測(cè)兩幅圖像的區(qū)別,但除法操作得可以用來(lái)檢測(cè)兩幅圖像的區(qū)別,但除法操作得 出的是相應(yīng)像素值的變換比例。出的是相應(yīng)像素值的變換比例。 調(diào)用格式:調(diào)用格式: Z=imdivide(X,Y) 對(duì)兩幅輸入圖像矩陣對(duì)應(yīng)元素進(jìn)行點(diǎn)乘。對(duì)兩幅輸入圖像矩陣對(duì)應(yīng)元素進(jìn)行點(diǎn)乘。 4.1.5圖像差的絕
8、對(duì)值運(yùn)算圖像差的絕對(duì)值運(yùn)算 除法運(yùn)算可用于校正成像設(shè)備的非線性影響,除法運(yùn)算可用于校正成像設(shè)備的非線性影響, 可以用來(lái)檢測(cè)兩幅圖像的區(qū)別,但除法操作得可以用來(lái)檢測(cè)兩幅圖像的區(qū)別,但除法操作得 出的是相應(yīng)像素值的變換比例。出的是相應(yīng)像素值的變換比例。 調(diào)用格式:調(diào)用格式: Z=imabsdiff(X,Y) 對(duì)兩幅輸入圖像矩陣對(duì)應(yīng)元素進(jìn)行點(diǎn)乘。對(duì)兩幅輸入圖像矩陣對(duì)應(yīng)元素進(jìn)行點(diǎn)乘。 4.1.6圖像的補(bǔ)運(yùn)算圖像的補(bǔ)運(yùn)算 適用于各種圖像格式,如果是二進(jìn)制圖像,將適用于各種圖像格式,如果是二進(jìn)制圖像,將 對(duì)圖像的每一位求補(bǔ);如果是對(duì)圖像的每一位求補(bǔ);如果是RGB格式的圖像,格式的圖像, 用像素值的最大值減
9、去圖像的原始值,得到輸用像素值的最大值減去圖像的原始值,得到輸 出圖像相應(yīng)位置的像素值。出圖像相應(yīng)位置的像素值。 調(diào)用格式:調(diào)用格式: IM2=imcomplement(IM) 4.1.7圖像的線性運(yùn)算圖像的線性運(yùn)算 調(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用來(lái)設(shè)定輸出結(jié)果用來(lái)設(shè)定輸出結(jié)果Z的數(shù)據(jù)類型,如的數(shù)據(jù)類型,如uint16或或 double。 4.1.8圖像
10、的非線性運(yùn)算圖像的非線性運(yùn)算 在線性運(yùn)算中,像素點(diǎn)間值的變化是一種比例關(guān)系。在線性運(yùn)算中,像素點(diǎn)間值的變化是一種比例關(guān)系。 在實(shí)際中需要對(duì)某個(gè)圖像特性進(jìn)行放大(縮?。?,在實(shí)際中需要對(duì)某個(gè)圖像特性進(jìn)行放大(縮?。?, 特別是在進(jìn)行圖像增強(qiáng)的過(guò)程中,為了消除圖像失特別是在進(jìn)行圖像增強(qiáng)的過(guò)程中,為了消除圖像失 真,非線性運(yùn)算就顯得格外有用。冪運(yùn)算、指數(shù)運(yùn)真,非線性運(yùn)算就顯得格外有用。冪運(yùn)算、指數(shù)運(yùn) 算、對(duì)數(shù)運(yùn)算、根運(yùn)算等都是為簡(jiǎn)單的非線性映射算、對(duì)數(shù)運(yùn)算、根運(yùn)算等都是為簡(jiǎn)單的非線性映射 算法。算法。 4.1.9圖像的邏輯運(yùn)算圖像的邏輯運(yùn)算 圖像的邏輯運(yùn)算在圖像增強(qiáng)、圖像識(shí)別、圖像圖像的邏輯運(yùn)算在圖像增
11、強(qiáng)、圖像識(shí)別、圖像 復(fù)原和區(qū)域分割等領(lǐng)域有著廣泛的應(yīng)用,邏輯復(fù)原和區(qū)域分割等領(lǐng)域有著廣泛的應(yīng)用,邏輯 運(yùn)算不僅關(guān)注圖像像素點(diǎn)的數(shù)值變換,而且重運(yùn)算不僅關(guān)注圖像像素點(diǎn)的數(shù)值變換,而且重 點(diǎn)在于位變換的情況。點(diǎn)在于位變換的情況。 I = imread(cameraman.tif); J=imread(rice.png); I1=im2bw(I); %轉(zhuǎn)化為二值圖像轉(zhuǎn)化為二值圖像 J1=im2bw(J); K1=I1 %邏輯與運(yùn)算邏輯與運(yùn)算 K2=I1 | J1;%邏輯或運(yùn)算邏輯或運(yùn)算 K3=I1;%邏輯非運(yùn)算邏輯非運(yùn)算 K4=xor(I1,J1);%異或運(yùn)算異或運(yùn)算 figure;%依次顯示四幅圖
12、像依次顯示四幅圖像 subplot(221);imshow(I); subplot(222);imshow(J);subplot(223);imshow(I1); subplot(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)整大小 在保持原有圖像形狀的基礎(chǔ)上對(duì)圖像大小進(jìn)行擴(kuò)大或縮小。在保持原有圖像形狀的基礎(chǔ)上對(duì)圖像大小進(jìn)行擴(kuò)大
13、或縮小。 imresize 調(diào)用格式:調(diào)用格式: B=imresiz(A,scale) B=imresiz(A,mrows ncols) B=imresiz(A,scale,method) scale:縮放比例,縮放比例,1放大。放大。 method:指定插值運(yùn)算方法指定插值運(yùn)算方法 mrows ncols指定縮放后圖像的行數(shù)和列數(shù)。指定縮放后圖像的行數(shù)和列數(shù)。exa311 4.2圖像幾何運(yùn)算圖像幾何運(yùn)算 4.2.2圖像旋轉(zhuǎn)圖像旋轉(zhuǎn) 數(shù)字圖像旋轉(zhuǎn)時(shí),各像素的坐標(biāo)將會(huì)發(fā)生變化,是的旋轉(zhuǎn)后不能正常落在數(shù)字圖像旋轉(zhuǎn)時(shí),各像素的坐標(biāo)將會(huì)發(fā)生變化,是的旋轉(zhuǎn)后不能正常落在 整數(shù)坐標(biāo)處,需要插值。整數(shù)坐標(biāo)處
14、,需要插值。 imrotate 調(diào)用格式:調(diào)用格式: B=imresiz(A,angle) B=imresiz(A,angle,method) B=imresiz(A, angle,method,bbox) angle:旋轉(zhuǎn)角度;旋轉(zhuǎn)角度; method:指定插值運(yùn)算方法指定插值運(yùn)算方法 bbox:有兩個(gè)值有兩個(gè)值crop,loose. crop表示旋轉(zhuǎn)后的圖像都對(duì)剪切中間的部分進(jìn)行增大,放回和原圖大小一致的表示旋轉(zhuǎn)后的圖像都對(duì)剪切中間的部分進(jìn)行增大,放回和原圖大小一致的 圖像圖像. loose表示返回旋轉(zhuǎn)后完整大小的圖像,默認(rèn)值。表示返回旋轉(zhuǎn)后完整大小的圖像,默認(rèn)值。exa314 4.2.3
15、圖像的裁剪圖像的裁剪 取圖像的一部分取圖像的一部分 imcrop 調(diào)用格式:調(diào)用格式: I=imcrop:對(duì)當(dāng)前窗體中的圖片顯示剪切操作狀態(tài),交互式操作,用鼠標(biāo)在圖對(duì)當(dāng)前窗體中的圖片顯示剪切操作狀態(tài),交互式操作,用鼠標(biāo)在圖 像中選中感興趣的區(qū)域,然后這個(gè)感興趣的區(qū)域就會(huì)存儲(chǔ)在矩陣像中選中感興趣的區(qū)域,然后這個(gè)感興趣的區(qū)域就會(huì)存儲(chǔ)在矩陣I中。中。 I2=imcrop(I)或或X2=imcrop(X,map)灰度圖像索引圖像剪切灰度圖像索引圖像剪切 I2=imcrop(I,rect)或或X2=imcrop(X,map,rect) 指定矩形區(qū)域指定矩形區(qū)域rect進(jìn)行剪切操作,進(jìn)行剪切操作,rect
16、規(guī)定了裁剪后的圖像區(qū)域,為一個(gè)四元規(guī)定了裁剪后的圖像區(qū)域,為一個(gè)四元 素向量素向量xmin,ymin,width,height,四個(gè)分量表示矩形的長(zhǎng)度及寬度。四個(gè)分量表示矩形的長(zhǎng)度及寬度。 exa313 例例13:裁剪:裁剪 I = imread(circuit.tif); figure,imshow(I) I0=imcrop; figure,imshow(I0); 4.2.4圖像插值圖像插值 圖像幾何運(yùn)算在圖像處理領(lǐng)域的應(yīng)用主要是二維插值。圖像幾何運(yùn)算在圖像處理領(lǐng)域的應(yīng)用主要是二維插值。 Matlab提供了三種插值方法:提供了三種插值方法: 最近鄰插值最近鄰插值(Nearest neighb
17、or interpolation) 雙線性插值雙線性插值(Bilinear interpolation) 雙三次插值雙三次插值(Bicubic interpolation) 1、最近鄰插值、最近鄰插值 只考慮最近像素的值,算法最快,但插值后容易出現(xiàn)馬賽克只考慮最近像素的值,算法最快,但插值后容易出現(xiàn)馬賽克 和鋸齒。對(duì)于索引圖像來(lái)說(shuō),它是唯一可行的方法。和鋸齒。對(duì)于索引圖像來(lái)說(shuō),它是唯一可行的方法。 2、雙線性插值、雙線性插值 在該方法中輸出像素的值是它在輸入圖像中在該方法中輸出像素的值是它在輸入圖像中2X2的領(lǐng)域內(nèi)像的領(lǐng)域內(nèi)像 素的加權(quán)平均值,它根據(jù)某像素周圍素的加權(quán)平均值,它根據(jù)某像素周圍4
18、個(gè)像素的灰度值在水平和個(gè)像素的灰度值在水平和 垂直兩個(gè)方向上對(duì)其插值。垂直兩個(gè)方向上對(duì)其插值。 3、雙三次插值、雙三次插值 該插值的領(lǐng)域大小為該插值的領(lǐng)域大小為4X4,它的插值效果比較好,但相應(yīng)的它的插值效果比較好,但相應(yīng)的 計(jì)算量較大。計(jì)算量較大。 這三種插值方法的運(yùn)算方式基本類似。對(duì)于每一種來(lái)說(shuō),為了確定這三種插值方法的運(yùn)算方式基本類似。對(duì)于每一種來(lái)說(shuō),為了確定 插值像素點(diǎn)的數(shù)值,必須在輸入圖像中查找到與輸出像素對(duì)應(yīng)的點(diǎn)。這插值像素點(diǎn)的數(shù)值,必須在輸入圖像中查找到與輸出像素對(duì)應(yīng)的點(diǎn)。這 三種插值方法的區(qū)別在于其三種插值方法的區(qū)別在于其對(duì)象像素點(diǎn)賦值對(duì)象像素點(diǎn)賦值的不同。的不同。 (1)最近
19、鄰插值輸出像素的賦值為當(dāng)前點(diǎn)的像素點(diǎn)。最近鄰插值輸出像素的賦值為當(dāng)前點(diǎn)的像素點(diǎn)。 (2)雙線性插值輸出像素的賦值為雙線性插值輸出像素的賦值為2X2矩陣所包含的有效點(diǎn)的加權(quán)平均值。矩陣所包含的有效點(diǎn)的加權(quán)平均值。 (3)雙三次插值輸出像素的賦值為雙三次插值輸出像素的賦值為4X4矩陣所包含的有效點(diǎn)的加權(quán)平均值。矩陣所包含的有效點(diǎn)的加權(quán)平均值。 在在matlab圖像工具箱中提供了圖像工具箱中提供了interp2函數(shù)來(lái)實(shí)現(xiàn)插值運(yùn)算。函數(shù)來(lái)實(shí)現(xiàn)插值運(yùn)算。 調(diào)用格式:調(diào)用格式: ZI=interp2(X,Y,Z,XI,YI,method) X,Y是圖像是圖像Z的橫坐標(biāo)和縱坐標(biāo)向量;的橫坐標(biāo)和縱坐標(biāo)向量;
20、XI,YI是插值后的橫坐標(biāo)和縱坐標(biāo)向量;是插值后的橫坐標(biāo)和縱坐標(biāo)向量; method是插值方法,可以為:是插值方法,可以為: (1)nearest:最近鄰插值。:最近鄰插值。 (2)liner:雙線性插值(默認(rèn)項(xiàng))。雙線性插值(默認(rèn)項(xiàng))。 (3)spline:三次樣條插值。三次樣條插值。 (4)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
21、=interp2(x,y,I,x1,y1,nearest);%對(duì)圖像進(jìn)行最近鄰插值對(duì)圖像進(jìn)行最近鄰插值 subplot(121);imshow(I); subplot(122);imshow(I1); 4.2.5鄰域與塊處理鄰域與塊處理 鄰域運(yùn)算:鄰域運(yùn)算: 在對(duì)圖像進(jìn)行處理時(shí),不但要輸入該像素本身的灰度,還要以運(yùn)算在對(duì)圖像進(jìn)行處理時(shí),不但要輸入該像素本身的灰度,還要以運(yùn)算 的方式輸入以該像素為中心的某局部區(qū)域(即鄰域)中的一些像素的方式輸入以該像素為中心的某局部區(qū)域(即鄰域)中的一些像素 的灰度,這種圖像運(yùn)算稱為鄰域運(yùn)算。由于鄰域運(yùn)算能將像素周圍的灰度,這種圖像運(yùn)算稱為鄰域運(yùn)算。由于鄰域運(yùn)算
22、能將像素周圍 鄰域內(nèi)的像素狀態(tài)反映在處理結(jié)果中,因而便于實(shí)現(xiàn)多種復(fù)雜圖像鄰域內(nèi)的像素狀態(tài)反映在處理結(jié)果中,因而便于實(shí)現(xiàn)多種復(fù)雜圖像 的處理。的處理。 1、滑動(dòng)鄰域操作、滑動(dòng)鄰域操作 滑動(dòng)鄰域操作每次在一個(gè)像素上進(jìn)行。輸出圖像的每個(gè)像素值都是滑動(dòng)鄰域操作每次在一個(gè)像素上進(jìn)行。輸出圖像的每個(gè)像素值都是 輸入圖像在這個(gè)像素的鄰域內(nèi)進(jìn)行指定的運(yùn)算得到的像素值。鄰域輸入圖像在這個(gè)像素的鄰域內(nèi)進(jìn)行指定的運(yùn)算得到的像素值。鄰域 是一個(gè)矩形塊,在圖像矩陣中從一個(gè)像素移到另一個(gè)像素的時(shí)候,是一個(gè)矩形塊,在圖像矩陣中從一個(gè)像素移到另一個(gè)像素的時(shí)候, 鄰域塊向同一個(gè)方向滑動(dòng)。鄰域塊向同一個(gè)方向滑動(dòng)。 通常鄰域是指一
23、個(gè)形狀遠(yuǎn)遠(yuǎn)小于圖像尺寸的規(guī)則的像素塊,例如通常鄰域是指一個(gè)形狀遠(yuǎn)遠(yuǎn)小于圖像尺寸的規(guī)則的像素塊,例如 2X2、3X3、4X4的正方形,或用近似表示圓及橢圓等形狀的多邊形。的正方形,或用近似表示圓及橢圓等形狀的多邊形。 如圖顯示了一個(gè)如圖顯示了一個(gè)2X3的鄰的鄰 域塊在一個(gè)域塊在一個(gè)6X5的矩陣中的矩陣中 滑動(dòng)的情況,其中心像素滑動(dòng)的情況,其中心像素 用黑點(diǎn)標(biāo)出。用黑點(diǎn)標(biāo)出。 中心像素是輸入圖像中要中心像素是輸入圖像中要 處理的像素。如果鄰域的處理的像素。如果鄰域的 行數(shù)和列數(shù)都為奇數(shù),則行數(shù)和列數(shù)都為奇數(shù),則 中心像素位于鄰域的中心。中心像素位于鄰域的中心。 如果鄰域的行數(shù)和列數(shù)中如果鄰域的行數(shù)
24、和列數(shù)中 有一個(gè)不為奇數(shù),則中心有一個(gè)不為奇數(shù),則中心 像素為鄰域中心偏左或偏像素為鄰域中心偏左或偏 上的像素。上的像素。 對(duì)于任何一個(gè)鄰域矩陣,其中心像素的坐標(biāo)是:對(duì)于任何一個(gè)鄰域矩陣,其中心像素的坐標(biāo)是:Floor(m n+1)/2),如對(duì)于一個(gè)如對(duì)于一個(gè)2X2的鄰域,其中心像素為左上角的像素。的鄰域,其中心像素為左上角的像素。 滑動(dòng)鄰域操作的一般算法如下:滑動(dòng)鄰域操作的一般算法如下: (1)選擇一個(gè)像素;選擇一個(gè)像素; (2)確定這個(gè)像素的鄰域確定這個(gè)像素的鄰域 (3)對(duì)鄰域的像素值應(yīng)用指定的函數(shù)進(jìn)行計(jì)算,該函數(shù)要返回標(biāo)量對(duì)鄰域的像素值應(yīng)用指定的函數(shù)進(jìn)行計(jì)算,該函數(shù)要返回標(biāo)量 (4)返回
25、輸出圖像的像素值,其位置為輸入圖像鄰域中的中心位置;返回輸出圖像的像素值,其位置為輸入圖像鄰域中的中心位置; (5)對(duì)圖像中的每個(gè)像素重復(fù)上面對(duì)圖像中的每個(gè)像素重復(fù)上面4個(gè)操作。個(gè)操作。 其中指定的函數(shù)可以是求取像素平均值的操作,首先將鄰域內(nèi)的像素其中指定的函數(shù)可以是求取像素平均值的操作,首先將鄰域內(nèi)的像素 值加起來(lái),然后除以鄰域內(nèi)像素的個(gè)數(shù),最后將返回的值作為輸出圖像的值加起來(lái),然后除以鄰域內(nèi)像素的個(gè)數(shù),最后將返回的值作為輸出圖像的 值。值。 當(dāng)中心像素位于圖像邊緣時(shí),則對(duì)應(yīng)鄰域有可能包含部分不屬于圖像當(dāng)中心像素位于圖像邊緣時(shí),則對(duì)應(yīng)鄰域有可能包含部分不屬于圖像 的像素,這時(shí)通常用多個(gè)的像素
26、,這時(shí)通常用多個(gè)0來(lái)填充圖形邊界。來(lái)填充圖形邊界。 在在matlab中,可以用中,可以用nlfilter函數(shù)來(lái)進(jìn)行滑動(dòng)鄰域操作函數(shù)來(lái)進(jìn)行滑動(dòng)鄰域操作 調(diào)用格式:調(diào)用格式: B=nlfilter(A,m n,fun) 其中,其中,A是要處理的圖像是要處理的圖像 m n規(guī)定了鄰域塊的大?。灰?guī)定了鄰域塊的大?。?fun是指定的函數(shù)。是指定的函數(shù)。 例例17:滑動(dòng)鄰域操作實(shí)例:滑動(dòng)鄰域操作實(shí)例 I=imread(tire.tif); f=(x)max(x(:);%求最大值函數(shù)求最大值函數(shù) I2=nlfilter(I,3 3,f);%滑動(dòng)鄰域操作求鄰域內(nèi)的最大值滑動(dòng)鄰域操作求鄰域內(nèi)的最大值 subplo
27、t(121);imshow(I); subplot(122);imshow(I2); 在這個(gè)程序中,首先生成一個(gè)求最大值的內(nèi)斂函數(shù),然后調(diào)用滑動(dòng)領(lǐng)域在這個(gè)程序中,首先生成一個(gè)求最大值的內(nèi)斂函數(shù),然后調(diào)用滑動(dòng)領(lǐng)域 操作函數(shù)求鄰域內(nèi)最大值,這樣每個(gè)像素的值都為操作函數(shù)求鄰域內(nèi)最大值,這樣每個(gè)像素的值都為3X3鄰域內(nèi)的最大值。鄰域內(nèi)的最大值。 2、colfilt函數(shù)函數(shù) 實(shí)現(xiàn)快速的鄰域操作。當(dāng)需要對(duì)圖像的局部實(shí)現(xiàn)運(yùn)算時(shí),可以使用該函數(shù)。實(shí)現(xiàn)快速的鄰域操作。當(dāng)需要對(duì)圖像的局部實(shí)現(xiàn)運(yùn)算時(shí),可以使用該函數(shù)。 常用調(diào)用格式:常用調(diào)用格式: (1)B=colfilt(A,m n,block_type,fun)
28、 mXn:圖像塊的尺寸圖像塊的尺寸 block_ type為指定塊的移動(dòng)方式為指定塊的移動(dòng)方式 distinct:表示圖像不重疊表示圖像不重疊 sliding:表示圖像塊滑動(dòng)。表示圖像塊滑動(dòng)。 fun為運(yùn)算函數(shù),其形式為為運(yùn)算函數(shù),其形式為y=fun(x) (2)B=colfilt(A,indexed,)將將A作為索引圖像處理作為索引圖像處理 colfit函數(shù)為圖像中每個(gè)像素建立一個(gè)列向量,向量的各元素對(duì)應(yīng)該函數(shù)為圖像中每個(gè)像素建立一個(gè)列向量,向量的各元素對(duì)應(yīng)該 像素的鄰域,如一個(gè)大小為像素的鄰域,如一個(gè)大小為6X5的圖像,對(duì)其按塊大小為的圖像,對(duì)其按塊大小為2X3進(jìn)行鄰進(jìn)行鄰 域處理。域處理
29、。 colfit函數(shù)為圖像建立一個(gè)函數(shù)為圖像建立一個(gè)30列的矩陣,每列有列的矩陣,每列有6個(gè)元素。個(gè)元素。 例例18: clc clear all I=imread(tire.tif); I1=uint8(colfilt(I,5 5,sliding,mean);%用列處理進(jìn)行滑動(dòng)鄰用列處理進(jìn)行滑動(dòng)鄰 域操作域操作 f=(x)ones(25,1)*mean(x);%進(jìn)行分塊處理操作的函數(shù)進(jìn)行分塊處理操作的函數(shù) I2=imread(cameraman.tif); I3=uint8(colfilt(double(I2),5 5,distinct,f);%用列處理進(jìn)行滑動(dòng)用列處理進(jìn)行滑動(dòng) 鄰域操作鄰域
30、操作subplot(221);imshow(I);subplot(222);imshow(I1); subplot(223);imshow(I2);subplot(224);imshow(I3) 3、分離塊操作、分離塊操作 在分離塊操作中,把一個(gè)圖像矩陣分成在分離塊操作中,把一個(gè)圖像矩陣分成mXn塊,這些分離塊從圖像的塊,這些分離塊從圖像的 左上角無(wú)重疊地開(kāi)始覆蓋圖像矩陣。如果這些分離塊不能精確地匹配圖像,左上角無(wú)重疊地開(kāi)始覆蓋圖像矩陣。如果這些分離塊不能精確地匹配圖像, 那么圖像矩陣將補(bǔ)那么圖像矩陣將補(bǔ)0填充。填充。blkproc函數(shù)實(shí)現(xiàn)。函數(shù)實(shí)現(xiàn)。 常用調(diào)用格式:常用調(diào)用格式: (1)B=
31、blkproc(A,m n,fun) m n:要處理的分離塊的大小要處理的分離塊的大小 fun為運(yùn)算函數(shù),其形式為為運(yùn)算函數(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(mean2(x)*ones(size(x); I2=blkproc(I,2 2,f); subplot(121);imshow(I); s
32、ubplot(122);imshow(I2); 分離塊操作例題分離塊操作例題 4.3區(qū)域處理區(qū)域處理 在進(jìn)行圖像處理時(shí),有時(shí)只需對(duì)圖像中的在進(jìn)行圖像處理時(shí),有時(shí)只需對(duì)圖像中的 某個(gè)特定區(qū)域進(jìn)行處理,并不需要對(duì)整個(gè)圖像某個(gè)特定區(qū)域進(jìn)行處理,并不需要對(duì)整個(gè)圖像 進(jìn)行處理,比如要對(duì)用戶選定的一個(gè)區(qū)域作均進(jìn)行處理,比如要對(duì)用戶選定的一個(gè)區(qū)域作均 值濾波或?qū)Ρ榷仍鰪?qiáng)的操作。值濾波或?qū)Ρ榷仍鰪?qiáng)的操作。 4.3.1 指定目標(biāo)區(qū)域指定目標(biāo)區(qū)域 4.3.2區(qū)域?yàn)V波區(qū)域?yàn)V波 4.3.3區(qū)域填充處理區(qū)域填充處理 4.3.1 指定目標(biāo)區(qū)域指定目標(biāo)區(qū)域 區(qū)域區(qū)域(ROI)處理:只對(duì)部分區(qū)域進(jìn)行濾波處理或其它的操作??梢?/p>
33、處理:只對(duì)部分區(qū)域進(jìn)行濾波處理或其它的操作??梢?通過(guò)生成一個(gè)二值掩膜,也就是一個(gè)二值圖像來(lái)實(shí)現(xiàn)區(qū)域選擇,該二值通過(guò)生成一個(gè)二值掩膜,也就是一個(gè)二值圖像來(lái)實(shí)現(xiàn)區(qū)域選擇,該二值 圖像和需要處理的圖像尺寸必須相同,將需要處理的圖像像素設(shè)定為圖像和需要處理的圖像尺寸必須相同,將需要處理的圖像像素設(shè)定為1, 其余像素設(shè)定為其余像素設(shè)定為0. 可以設(shè)定多個(gè)可以設(shè)定多個(gè)ROI,區(qū)域可以是自然的形狀,比如包含連續(xù)像素的,區(qū)域可以是自然的形狀,比如包含連續(xù)像素的 多邊形,也可以是某一個(gè)灰度范圍的所有像素。多邊形,也可以是某一個(gè)灰度范圍的所有像素。 1、多邊形選擇函數(shù)、多邊形選擇函數(shù)roipoly 該函數(shù)輸出與
34、輸入圖像大小一致的二值圖像該函數(shù)輸出與輸入圖像大小一致的二值圖像BW,選中區(qū)域值為,選中區(qū)域值為1, 其余部分為其余部分為0. 調(diào)用格式:調(diào)用格式: (1)手動(dòng)選擇手動(dòng)選擇 BW=roipoly或或BW=roipoly(I):通過(guò)鼠標(biāo)操作來(lái)設(shè)定多邊形區(qū)域的角度,通過(guò)鼠標(biāo)操作來(lái)設(shè)定多邊形區(qū)域的角度, 可以用可以用鍵撤銷選擇,鍵撤銷選擇,鍵確認(rèn)選擇。鍵確認(rèn)選擇。 BW,xi,yi=roipoly():手動(dòng)選擇多邊形區(qū)域,返回多邊形頂點(diǎn)的坐標(biāo)。手動(dòng)選擇多邊形區(qū)域,返回多邊形頂點(diǎn)的坐標(biāo)。 x,y,BW,xi,yi=roipoly()手動(dòng)選擇多邊形區(qū)域,返回多邊形頂點(diǎn)在指手動(dòng)選擇多邊形區(qū)域,返回多邊形頂
35、點(diǎn)在指 定坐標(biāo)系下的坐標(biāo)。定坐標(biāo)系下的坐標(biāo)。 (2)非手動(dòng)非手動(dòng) BW=roipoly(I,c,r):用向量用向量c和和r指定多邊形各頂點(diǎn)的坐標(biāo)。指定多邊形各頂點(diǎn)的坐標(biāo)。 BW=roipoly(x,y,I,xi,yi):用矢量用矢量x和和y建立非默認(rèn)的坐標(biāo)系,然后在指定建立非默認(rèn)的坐標(biāo)系,然后在指定 的坐標(biāo)系下選擇向量的坐標(biāo)系下選擇向量xi、yi指定的多邊形區(qū)域。指定的多邊形區(qū)域。 手動(dòng)方式選擇區(qū)域手動(dòng)方式選擇區(qū)域 例例22: clear all I=imread(123.tif); imshow(I); BW=roipoly; imshow(BW) 根據(jù)指定的坐標(biāo)選擇區(qū)域根據(jù)指定的坐標(biāo)選擇區(qū)
36、域 例例23 clear all I=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中的灰度值來(lái)選擇區(qū)域中的灰度值來(lái)選擇區(qū)域 clear all clc load trees BW=roicolor(X,10,20); subplot(121);imshow(X,map); subplot(122);imshow(BW) 3、poly2mask函數(shù)函數(shù) 使用使用roipoly生成指定圖像的二值圖像掩膜。在沒(méi)有
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版園林景觀設(shè)計(jì)施工一體化合同范本4篇
- 二零二五年度空?qǐng)龅刈赓U合同示范文本(含8項(xiàng)租賃合同解除條件)3篇
- 2025年度個(gè)人股權(quán)交易合規(guī)審查與服務(wù)合同4篇
- 2025年食堂食材采購(gòu)與互聯(lián)網(wǎng)+服務(wù)合同范本大全3篇
- 個(gè)人獨(dú)資企業(yè)2024年度合同3篇
- 2024私企公司股權(quán)轉(zhuǎn)讓及海外市場(chǎng)拓展合作協(xié)議3篇
- 個(gè)人汽車抵押貸款合同:2024年標(biāo)準(zhǔn)版版B版
- 2025版五星級(jí)酒店員工工作績(jī)效評(píng)估及獎(jiǎng)懲合同3篇
- 2025年暑假工招工合同范本:職業(yè)健康檢查與保護(hù)3篇
- 二零二五年特種空調(diào)設(shè)備采購(gòu)與安全檢測(cè)合同2篇
- 2024-2025學(xué)年山東省濰坊市高一上冊(cè)1月期末考試數(shù)學(xué)檢測(cè)試題(附解析)
- 數(shù)學(xué)-湖南省新高考教學(xué)教研聯(lián)盟(長(zhǎng)郡二十校聯(lián)盟)2024-2025學(xué)年2025屆高三上學(xué)期第一次預(yù)熱演練試題和答案
- 決勝中層:中層管理者的九項(xiàng)修煉-記錄
- 幼兒園人民幣啟蒙教育方案
- 高考介詞練習(xí)(附答案)
- 單位就業(yè)人員登記表
- 衛(wèi)生監(jiān)督協(xié)管-醫(yī)療機(jī)構(gòu)監(jiān)督
- 記錄片21世紀(jì)禁愛(ài)指南
- 腰椎間盤(pán)的診斷證明書(shū)
- 移動(dòng)商務(wù)內(nèi)容運(yùn)營(yíng)(吳洪貴)任務(wù)七 裂變傳播
- 單級(jí)倒立擺系統(tǒng)建模與控制器設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論