Matlab圖像處理-高級(jí)應(yīng)用_第1頁
Matlab圖像處理-高級(jí)應(yīng)用_第2頁
Matlab圖像處理-高級(jí)應(yīng)用_第3頁
Matlab圖像處理-高級(jí)應(yīng)用_第4頁
Matlab圖像處理-高級(jí)應(yīng)用_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

Matlab圖像處理郭磐

guopan@內(nèi)容提要Matlab基本操作圖像處理基本函數(shù)作業(yè)參考程序作業(yè)問題匯總基本圖像操作函數(shù)(命令)[filename,pathname]=uigetfile(...

{'*.jpg;*.tif;*.png;*.gif','AllImageFiles';...

'*.*','AllFiles'},...

'請(qǐng)選擇要修改的圖片(可多選)',...

'MultiSelect','on');基本圖像操作函數(shù)(命令)讀入圖像pic=imread('cameraman.bmp')對(duì)于RGB圖像gray_pic=rgb2gray(pic);

對(duì)于索引圖像[s,map]=imread('in.gif');[m,n]=size(s);s=ind2gray(s,map);

基本圖像操作函數(shù)(命令)獲取圖像大小size()獲取圖像信息info=imfinfo('cameraman.bmp')顯示圖像imshow(pic,[low,high]); imshow(pic,[]);figuresubplot

基本圖像操作函數(shù)(命令)判斷圖像是否為彩色圖像rgb=imread(file);%讀入圖像image_size=size(rgb);if

numel(image_size)>2

A=rgb2gray(rgb);%將彩色圖像轉(zhuǎn)換為灰度圖像elseA=rgb;end基本圖像操作函數(shù)(命令)顯示圖像直方圖imhist(pic)直方圖均衡化histeq(pic)基本圖像操作函數(shù)(命令)如何添加噪聲采用函數(shù)imnoise來使用噪聲污染一幅圖像,該函數(shù)的基本語法為:g=imnoise(f,type,parameters)f為是輸入圖像。基本圖像操作函數(shù)(命令)g=imnoise(f,'gaussian',m,var)將均值M,方差為var的高斯噪聲加到圖像f上,默認(rèn)值為均值是0,方差是0.01的噪聲。g=imnoise(f,'localvar',V)將均值為0,局部方差為V的高斯噪聲添加到圖像f上,其中V是與f大小相同的一個(gè)矩陣,它包含了每一個(gè)點(diǎn)的理想方差值?;緢D像操作函數(shù)(命令)g=imnoise(f,'localvar',image_intensity,var)將均值為0的高斯噪聲添加到圖像f中,其中噪聲的局部方差var是圖像f的亮度值的函數(shù)。參量image_intensity和var是大小相同的向量,plot(image_intensity,var)繪制出噪聲方差和圖像亮度的函數(shù)關(guān)系。向量image_intensity必須包含范圍在[0,1]內(nèi)的歸一化亮度值?;緢D像操作函數(shù)(命令)g=imnoise(f,'salt&pepper',d)用椒鹽噪聲污染圖像f,其中d是噪聲密度(即包括噪聲值的圖像區(qū)域的百分比)。因此,大約有d*numel(f)個(gè)像素受到影響。默認(rèn)的噪聲密度為0.005。g=imnoise(f,'speckle',var)用方程g=f+n*f)將乘性噪聲添加到圖像f上,其中n是均值為0,方差為var的均勻分布的隨機(jī)噪聲,var的默認(rèn)值是0.04。基本圖像操作函數(shù)(命令)g=imnoise(f,'poisson')從數(shù)據(jù)中生成泊松噪聲,而不是將人工的噪聲添加到數(shù)據(jù)中,為了遵守泊松統(tǒng)計(jì),unit8和unit16類圖像的亮度必須和光子的數(shù)量相符合。當(dāng)每個(gè)像素的光子數(shù)量大于65535時(shí),就要使用雙精度圖像。亮度值在0到1之間變化,并且對(duì)應(yīng)于光子的數(shù)量除以10e12?;緢D像操作函數(shù)(命令)nargin函數(shù)輸入的參數(shù)個(gè)數(shù)。nargout函數(shù)輸出的參數(shù)個(gè)數(shù)?;緢D像操作函數(shù)(命令)matlab的數(shù)據(jù)類型numeric:數(shù)值

double:雙精度uint8:8位無符號(hào)整型char:字符

logical:邏輯

cell:?jiǎn)卧?、?xì)胞、元胞

struct:結(jié)構(gòu)基本圖像操作函數(shù)(命令)matlab的數(shù)據(jù)類型基本圖像操作函數(shù)(命令)生成全1陣:ones

(n)建立一個(gè)n×n的1矩陣。ones

(m,n,...,p)建立一個(gè)m×n×...×p的1矩陣。ones

(size

(A

))建立一個(gè)和矩陣A同樣大小的1矩陣。生成全0陣:zeros(n)zeros(m,n,...,p)建立一個(gè)m×n×...×p的0矩陣。zeros(size(A))建立一個(gè)和矩陣A同樣大小的0矩陣。二值圖像處理函數(shù)1、imdilateIM2=imdilate(IM,SE)dilatesthegrayscale,binary,orpackedbinaryimageIM,returningthedilatedimage,IM2.SEisastructuringelementobject,orarrayofstructuringelementobjects,returnedbytheSTRELfunction.二值圖像處理函數(shù)2、imerodeoriginalBW=imread('text.png');

se=strel('line',11,90);erodedBW=imerode(originalBW,se);figure,imshow(originalBW)figure,imshow(erodedBW)二值圖像處理函數(shù)3、bwmorphBW2=bwmorph(BW1,OPERATION)BW2=bwmorph(BW1,OPERATION,N)‘bothat’'branchpoints''bridge''clean''close''diag''dilate''endpoints''erode''fill''hbreak''majority''open''remove''shrink''skel''spur''thicken''thin''tophat'二值圖像處理函數(shù)4、strelse1=strel('square',11)%11-by-11squarese2=strel('line',10,45)%line,length10,angle45degreesse3=strel('disk',15)%disk,radius15se4=strel('ball',15,5)%ball,radius15,height5二值圖像處理函數(shù)4、bwhitmissbw2=bwhitmiss(bw,interval)

bw=[000000

001100

011110

011110

001100

001000]interval=[0-1-1

11-1

010];

二值圖像處理函數(shù)6、bwlabel對(duì)連通對(duì)象進(jìn)行標(biāo)注,bwlabel主要對(duì)二維二值圖像中各個(gè)分離部分進(jìn)行標(biāo)注(多維用bwlabeln,用法類似)。L=bwlabel(BW,n)[L,num]=bwlabel(BW,n)L=bwlabel(BW,n)表示返回和BW相同大小的數(shù)組L。L中包含了連通對(duì)象的標(biāo)注。參數(shù)n為4或8,分別對(duì)應(yīng)4鄰域和8鄰域,默認(rèn)值為8。[L,num]=bwlabel(BW,n)返回連通數(shù)num。Matlab程序優(yōu)化思路盡量減少循環(huán),利用:索引一行、一列或一個(gè)子矩陣,學(xué)會(huì)整體賦值,用.+.-

.*

./整體計(jì)算。把循環(huán)向量化、矩陣化。預(yù)先定義矩陣需要的大小,在循環(huán)中不斷擴(kuò)充矩陣的大小,非常耗時(shí)。把計(jì)算量大的、循環(huán)多的代碼,寫到函數(shù)中,利用Matlab的預(yù)編譯特性。Matlab程序優(yōu)化思路profileon開啟profileoff關(guān)閉profileclear清空數(shù)據(jù)profileviewer在profiler中看結(jié)果Matlab程序優(yōu)化思路ticx=

0;

for

k=

2:1000000

x(k)

=x(k-1)

+

5;

end

tocElapsedtimeis0.301528seconds.ticx=zeros(1,

1000000);fork=

2:1000000

x(k)

=x(k-1)

+

5;

end

tocElapsedtimeis0.011938seconds.作業(yè)中的GoodCode%繪制直方圖

[m,n]=size(pic);%測(cè)量圖像尺寸參數(shù)

G=zeros(1,256);%預(yù)創(chuàng)建存放灰度出現(xiàn)概率的向量

%計(jì)算每級(jí)灰度出現(xiàn)的概率,將其存入G中相應(yīng)位置

fork=0:255G(k+1)=length(find(pic==k))/(m*n);end

作業(yè)中的GoodCode[dim1,dim2,dim3]=size(f);ifdim3==3f=rgb2gray(f);end作業(yè)中的GoodCode獲取圖像矩陣pic的最大值L=0;for

I

=1:imLength

for

j

=1:imWidth

if(pic(i,j)>L)L=pic(i,j);

end

endend

獲取圖像矩陣pic的最大值L=max(max(pic));或者L=max(pic(:));%統(tǒng)計(jì)源圖像灰度等級(jí)出現(xiàn)的概率L=max(max(pic));p=zeros(1,L+1);fori=1:imLengthforj=1:imWidth

p(pic(i,j)+1)=p(pic(i,j)+1)+1;endendp=p/(imLength*imWidth);%繪制直方圖[m,n]=size(pic);%測(cè)量圖像尺寸參數(shù)G=zeros(1,256);%預(yù)創(chuàng)建存放灰度出現(xiàn)概率的向量%計(jì)算每級(jí)灰度出現(xiàn)的概率,將其存入G中相應(yīng)位置fork=0:255

G(k+1)=length(find(pic==k))/(m*n);endGUI界面設(shè)計(jì)變量傳遞

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論