MATLAB中圖像的基本操作
1、讀取、顯示圖片
MATLAB中提供了immread()與imshow()函數讀取和顯示圖片。其中讀取函數imread()原型:
imread:
A = imread(filename, fmt)
A是結構體名,用來存儲讀入的圖像數據。filename是讀取的文件名,文件名要用”括起來。fmt是讀取文件的類型如:jpg、png等等,這個參數可以不輸入,由MATLAB自動判斷。
顯示函數imshow()原型:
imshow:
imshow(I)
I為讀取后保存在MATLAB中的結構體名。
程序實例:
A=imread('1.jpg');%讀取名為1.jpg的圖片 imshow(A)%顯示圖片
2、將灰度圖片變成負片
對圖像進行操作,實際上是將圖像看成許多個像素點,對每個像素點進行操作。在計算機系統中,灰度圖片被看成是許多個由值在[0~255]之間的像素點組成的圖像,255表示白色,0表示黑色,黑白之間存在256個灰度級。
負片是指將原灰度圖白色的地方變成黑色,黑色的地方變成白色。也就是將0變成255,255變成0。MALTAB的imadjust()函數提供了該功能。其函數原型:
imadjust:
J = imadjust(I,[low_in; high_in],[low_out; high_out])
其中,I為原灰度圖像,low_in,high_in為輸入圖像的低和高灰度級,設置為[0,1]表示從0~255的歸一化,low_out,high_out為輸出圖像的低高灰度級。
若是想將圖片轉換為負片,那么將[low_in; high_in]設置為[0,1],將[low_out; high_out]設置為[1,0]。即原來輸入為0的地方變成1輸出,輸入為1的地方變成0輸出。
實例:
A=imread('1.jpg'); imshow(A)%顯示原圖 A1=imadjust(A,[0,1],[1,0]);%將灰度級對調 figure,imshow(A1)%顯示負片
3、彩色圖片轉換成灰度圖片
我們在計算機中看到的大多數彩色圖片是基於RBG三通道的圖片,紅綠藍三種顏色,每一種取值均為[0~255]。通過255*255*255,可以構成龐大的顏色群。而灰度圖像只有256個灰度級。通過以下公式可以將RGB轉換成灰度
GRAY=0.2989 R + 0.5870 * G + 0.1140 * B*
MATLAB中提供的函數rgb2gray為我們提供了將彩色圖片轉換成灰度圖片的功能。函數原型:
I = rgb2gray(RGB)
- 1
實例:
A=imread('001.png');%原彩色圖片 imshow(A) A_gray=rgb2gray(A);%轉換成灰度圖片 figure,imshow(A_gray)