matlab中的图像,MATLAB中图像的基本操作
MATLAB中圖像的基本操作
1、讀取、顯示圖片
MATLAB中提供了immread()與imshow()函數(shù)讀取和顯示圖片。其中讀取函數(shù)imread()原型:
imread:
A= imread(filename, fmt)
A是結(jié)構(gòu)體名,用來存儲讀入的圖像數(shù)據(jù)。filename是讀取的文件名,文件名要用”括起來。fmt是讀取文件的類型如:jpg、png等等,這個參數(shù)可以不輸入,由MATLAB自動判斷。
顯示函數(shù)imshow()原型:
imshow:
imshow(I)
I為讀取后保存在MATLAB中的結(jié)構(gòu)體名。
程序?qū)嵗?#xff1a;
A=imread('1.jpg');%讀取名為1.jpg的圖片
imshow(A)%顯示圖片
2、將灰度圖片變成負片
對圖像進行操作,實際上是將圖像看成許多個像素點,對每個像素點進行操作。在計算機系統(tǒng)中,灰度圖片被看成是許多個由值在[0~255]之間的像素點組成的圖像,255表示白色,0表示黑色,黑白之間存在256個灰度級。
?
負片是指將原灰度圖白色的地方變成黑色,黑色的地方變成白色。也就是將0變成255,255變成0。MALTAB的imadjust()函數(shù)提供了該功能。其函數(shù)原型:
imadjust:
J= imadjust(I,[low_in; high_in],[low_out; high_out])
其中,I為原灰度圖像,low_in,high_in為輸入圖像的低和高灰度級,設(shè)置為[0,1]表示從0~255的歸一化,low_out,high_out為輸出圖像的低高灰度級。
若是想將圖片轉(zhuǎn)換為負片,那么將[low_in; high_in]設(shè)置為[0,1],將[low_out; high_out]設(shè)置為[1,0]。即原來輸入為0的地方變成1輸出,輸入為1的地方變成0輸出。
實例:
A=imread('1.jpg');
imshow(A)%顯示原圖
A1=imadjust(A,[0,1],[1,0]);%將灰度級對調(diào)
figure,imshow(A1)%顯示負片
3、彩色圖片轉(zhuǎn)換成灰度圖片
我們在計算機中看到的大多數(shù)彩色圖片是基于RBG三通道的圖片,紅綠藍三種顏色,每一種取值均為[0~255]。通過255*255*255,可以構(gòu)成龐大的顏色群。而灰度圖像只有256個灰度級。通過以下公式可以將RGB轉(zhuǎn)換成灰度
GRAY=0.2989?R + 0.5870 * G + 0.1140 * B*
MATLAB中提供的函數(shù)rgb2gray為我們提供了將彩色圖片轉(zhuǎn)換成灰度圖片的功能。函數(shù)原型:
I =rgb2gray(RGB)
1
實例:
A=imread('001.png');%原彩色圖片
imshow(A)
A_gray=rgb2gray(A);%轉(zhuǎn)換成灰度圖片
figure,imshow(A_gray)
總結(jié)
以上是生活随笔為你收集整理的matlab中的图像,MATLAB中图像的基本操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java的方法什么时候加载,java –
- 下一篇: mysql 类似oracle,mysql