Matlab常用映像操作

來源:互聯網
上載者:User

原帖地址:http://blog.verycd.com/ari/showentry=48371

一 讀寫影像檔

1 imread

imread函數用於讀入各種影像檔,如:a=imread('e:/w01.tif')

註:電腦E盤上要有w01相應的.tif檔案。

2 imwrite

imwrite函數用於寫入影像檔,如:imwrite(a,'e:/w02.tif',’tif’)

3 imfinfo

imfinfo函數用於讀取影像檔的有關資訊,如:imfinfo('e:/w01.tif')

二 映像的顯示

1 image

image函數是MATLAB提供的最原始的映像顯示函數,如:

a=[1,2,3,4;4,5,6,7;8,9,10,11,12];

image(a);

2 imshow

imshow函數用於影像檔的顯示,如:

i=imread('e:/w01.tif');

imshow(i);

3 colorbar

colorbar函數用顯示映像的顏色條,如:

i=imread('e:/w01.tif');

imshow(i);

colorbar;

4 figure

figure函數用於設定映像顯示視窗,如:figure(1); /figure(2);

三 映像的變換

1 fft2

fft2函數用於數位影像的二維傅立葉變換,如:

i=imread('e:/w01.tif');

j=fft2(i);

2 ifft2

ifft2函數用於數位影像的二維傅立葉反變換,如:

i=imread('e:/w01.tif');

j=fft2(i);

k=ifft2(j);

3 利用fft2計算二維卷積

利用fft2函數可以計算二維卷積,如:

a=[8,1,6;3,5,7;4,9,2];

b=[1,1,1;1,1,1;1,1,1];

a(8,8)=0;

b(8,8)=0;

c=ifft2(fft2(a).*fft2();

c=c(1:5,1:5);

利用conv2(二維卷積函數)校正, 如:

a=[8,1,6;3,5,7;4,9,2];

b=[1,1,1;1,1,1;1,1,1];

c=conv2(a,;

四 類比雜訊產生函數和預定義濾波器

1 imnoise

imnoise函數用於對映像產生類比雜訊,如:

i=imread('e:/w01.tif');

j=imnoise(i,'gaussian',0,0.02);%類比高斯雜訊

2 fspecial

fspecial函數用於產生預定義濾波器,如:

h=fspecial('sobel');%sobel水平邊緣增強濾波器

h=fspecial('gaussian');%高斯低通濾波器

h=fspecial('laplacian');%拉普拉斯濾波器

h=fspecial('log');%高斯拉普拉斯(LoG)濾波器

h=fspecial('average');%均值濾波器

五 映像的增強

1 長條圖

imhist函數用於數位影像的長條圖顯示,如:

i=imread('e:/w01.tif');

imhist(i);

2 長條圖均化

histeq函數用於數位影像的長條圖均化,如:

i=imread('e:/w01.tif');

j=histeq(i);

3 對比調整

imadjust函數用於數位影像的對比調整,如:

i=imread('e:/w01.tif');

j=imadjust(i,[0.3,0.7],[]);

4 對數變換

log函數用於數位影像的對數變換,如:

i=imread('e:/w01.tif');

j=double(i);

k=log(j);

5 基於卷積的映像濾波函數

filter2函數用於映像濾波,如:

i=imread('e:/w01.tif');

h=[1,2,1;0,0,0;-1,-2,-1];

j=filter2(h,i);

6 線性濾波

利用二維卷積conv2濾波, 如:

i=imread('e:/w01.tif');

h=[1,1,1;1,1,1;1,1,1];

h=h/9;

j=conv2(i,h);

7 中值濾波

medfilt2函數用於映像的中值濾波,如:

i=imread('e:/w01.tif');

j=medfilt2(i);

8 銳利化

(1)利用Sobel運算元銳利化映像, 如:

i=imread('e:/w01.tif');

h=[1,2,1;0,0,0;-1,-2,-1];%Sobel運算元

j=filter2(h,i);

(2)利用拉氏運算元銳利化映像, 如:

i=imread('e:/w01.tif');

j=double(i);

h=[0,1,0;1,-4,0;0,1,0];%拉氏運算元

k=conv2(j,h,'same');

m=j-k;

六 舉例

二維傅立葉變換和二維傅立葉反變換:

i=imread('e:/w01.tif');

figure(1);

imshow(i);

colorbar;

j=fft2(i);

k=fftshift(j);

figure(2);

l=log(abs(k));

imshow(l,[]);

colorbar

n=ifft2(j)/255;

figure(3);

imshow(n);

colorbar;

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.