瀏覽量:104次
雖然說(shuō)Matlab是一款數(shù)學(xué)處理軟件,但是這款軟件特別強(qiáng)大,強(qiáng)大之處在于他還能夠處理圖像,這個(gè)功能是很多新手學(xué)習(xí)Matlab的時(shí)候感到驚訝的地方,下面就給大家介紹Matlab處理圖像的方法。
一、圖像基本操作
1、讀取圖像并顯示:
》》 clear;close all %清空Matlab工作平臺(tái)所有變量(準(zhǔn)備工作)
》》 I=imread(‘pout.tif’); % 該圖像是Matlab圖形工具箱中自帶的圖像(\toolbox\images\imdemos)
》》 imshow(I)
2、檢查內(nèi)存(數(shù)組)中的圖像:
》》 whos
Name Size Bytes Class
I 291x240 69840 uint8 array
Grand total is 69840 elements using 69840 bytes
表示該圖像采用8位存儲(chǔ)方式并占用了69840B的存儲(chǔ)空間。
3、實(shí)現(xiàn)圖像直方圖均衡化:
》》 figure,imhist(I) % 在新圖中顯示圖像I的直方圖
》》 I2=histeq(I); % 均衡化以后的圖像存在I2數(shù)組中(圖像灰度值擴(kuò)展到整個(gè)灰度范圍,對(duì)比度提高)
》》 figure,imshow(I2) % 顯示均衡化后的圖像
》》 figure,imhist(I2) % 顯示均衡后的灰度值分布情況
8位圖像取值范圍:[0,255],16位圖像取值范圍:[0,655351],雙精度圖像取值范圍:[0,1]
4、保存圖像:
》》 imwrite(I2,‘pout2.png’); % 將圖像由原先的tif格式另存為png格式
5、檢查新生成文件的信息:
》》 imfinfo(‘pout2.png’) % 觀察保存圖像的文件信息
ans =
Filename: ‘pout2.png’ % 文件名
FileModDate: ‘11-Apr-2009 21:55:35’ % 文件修改日期
FileSize: 36938 % 文件大小
Format: ‘png’ % 文件格式
FormatVersion: [] % 格式
Width: 240 % 文件寬度
Height: 291 % 文件高度
BitDepth: 8 % 文件位深度
ColorType: ‘grayscale’ % 顏色類型
……
二、圖像處理Matlab的應(yīng)用:
實(shí)例:消除rice.png圖像中亮度不一致的背景,并使用閾值將修改后的圖像轉(zhuǎn)換為二值圖像,使用成員標(biāo)記返回圖像中對(duì)象的個(gè)數(shù)以及統(tǒng)計(jì)特性。按照如下步驟進(jìn)行:
1、讀取和顯示圖像
》》 clear;close all
》》 I=imread(‘rice.png’);
》》 imshow(I)
2、估計(jì)圖像背景:
圖像中心位置背景亮度強(qiáng)于其他部分亮度,用imopen函數(shù)和一個(gè)半徑為15的圓盤(pán)結(jié)構(gòu)元素對(duì)輸入的圖像I進(jìn)行形態(tài)學(xué)開(kāi)操作,去掉那些不完全包括在圓盤(pán)中的對(duì)象,從而實(shí)現(xiàn)對(duì)背景亮度的估計(jì)。
》》 clear;close all
》》 I=imread(‘rice.png’);
》》 imshow(I)
》》 background=imopen(I,strel(‘disk’,15));
》》 imshow(background)
》》 figure,surf(double(background(1:8:end,1:8:end))),zlim([0,255]);
》》 set(gca,‘ydir’,‘reverse’);
顯示了背景圖(左)和背景表面圖(右)
3、從原始圖像中減去背景圖像(原始圖像I減去背景圖像得到背景較為一致的圖像):
》》 I2=imsubtract(I,background);
》》 figure,imshow(I2)
4、調(diào)節(jié)圖像的對(duì)比度 (圖像較暗,可用imadjust函數(shù)命令來(lái)調(diào)節(jié)圖像的對(duì)比度)
》》 I3=imadjust(I2,stretchlim(I2),[0 1]);
》》 figure,imshow(I3);
5、使用閾值操作將圖像轉(zhuǎn)換為二進(jìn)制(二值)圖像(bw),調(diào)用whos命令查看圖像的存儲(chǔ)信息。
》》 level=graythresh(I3); % 圖像灰度處理
》》 bw=im2bw(I3,level); % 圖像二值化處理
》》 figure,imshow(bw) % 顯示處理后的圖片
》》 whos
Name Size Bytes Class
I 256x256 65536 uint8 array
I2 256x256 65536 uint8 array
I3 256x256 65536 uint8 array
background 256x256 65536 uint8 array
bw 256x256 65536 logical array
level 1x1 8 double array
Grand total is 327681 elements using 327688 bytes
6、檢查圖像中對(duì)象個(gè)數(shù)(bwlabel函數(shù)表示了二值圖像中的所有相關(guān)成分并返回在圖像中找到的對(duì)象個(gè)數(shù))
》》 [labeled,numObjects]=bwlabel(bw,4);
》》 numObjects
numObjects =
101
表示圖像中的米粒對(duì)象個(gè)數(shù)是101.
7、檢查標(biāo)記矩陣:(imcrop命令進(jìn)行交互式操作,圖像內(nèi)拉出較小矩形并顯示已標(biāo)記的對(duì)象和部分背景內(nèi)的像素)
》》 grain=imcrop(labeled)
grain =
0 0 42 42 42 42 42 42 42 0
0 0 42 42 42 42 42 42 42 42
0 0 42 42 42 42 42 42 42 42
0 0 42 42 42 42 42 42 42 42
0 0 42 42 42 42 42 42 42 42
0 0 42 42 42 42 42 42 42 42
0 42 42 42 42 42 42 42 42 42
0 42 42 42 42 42 42 42 42 42
8、觀察標(biāo)記矩陣(用label2rgb將其顯示為一副偽彩色的索引圖像):
》》 RGB_label=label2rgb(labeled,@spring,‘c’,‘shuffle’);
》》 imshow(RGB_label);
9、測(cè)量圖像對(duì)象或區(qū)域的屬性(Regionprops,返回一個(gè)結(jié)構(gòu)數(shù)據(jù))
》》 graindata=regionprops(labeled,‘basic’)
graindata =
101x1 struct array with fields:
Area
Centroid
BoundingBox
》》 graindata(40).Area % 顯示矩陣中第40個(gè)元素的屬性
ans =
197
》》 graindata(40).BoundingBox,graindata(40).Centroid % 尋找最近的邊緣和中心點(diǎn)
ans =
82.5000 59.5000 24.0000 20.0000
ans =
95.4213 70.4924
》》 allgrains=[graindata.Area]; % 創(chuàng)建一個(gè)新的向量allgrains,其包含每個(gè)米粒的范圍
》》 whos allgrains
Name Size Bytes Class
allgrains 1x101 808 double array
Grand total is 101 elements using 808 bytes
》》 allgrains(51) % 相當(dāng)于整個(gè)矩陣的索引為51的屬性是多少,可見(jiàn)與原來(lái)得到的結(jié)果相同
ans =
140
》》 max(allgrains) % 獲取最大的米粒大小
ans =
404
》》 biggrain=find(allgrains==404) % 使用find命令返回這個(gè)最大尺寸米粒的標(biāo)記號(hào)
biggrain =
59
》》 mean(allgrains) % 獲取米粒的平均大小
ans =
175.0396
10、繪制包含30個(gè)柱的直方圖來(lái)說(shuō)明米粒大小的分布情況
》》 hist(allgrains,30)
米粒大小分布柱狀圖
以上幾點(diǎn)便是Matlab圖像處理的基本操作,多次使用后你會(huì)發(fā)現(xiàn)這些方法在使用Matlab的過(guò)程中很實(shí)用,并且使用起來(lái)非常簡(jiǎn)單。以上便是關(guān)于Matlab圖像處理方法的基本操作,希望對(duì)你的學(xué)習(xí)有所幫助。
[聲明]本網(wǎng)轉(zhuǎn)載網(wǎng)絡(luò)媒體稿件是為了傳播更多的信息,此類稿件不代表本網(wǎng)觀點(diǎn),本網(wǎng)不承擔(dān)此類稿件侵權(quán)行為的連帶責(zé)任。故此,如果您發(fā)現(xiàn)本網(wǎng)站的內(nèi)容侵犯了您的版權(quán),請(qǐng)您的相關(guān)內(nèi)容發(fā)至此郵箱【779898168@qq.com】,我們?cè)诖_認(rèn)后,會(huì)立即刪除,保證您的版權(quán)。
官網(wǎng)優(yōu)化
整站優(yōu)化
渠道代理
400-655-5776