图像转灰度图
MyYuanLaiPic = imread('e:/image/matlab/darkMouse.jpg');%讀取RGB格式的圖像?
MyFirstGrayPic = rgb2gray(MyYuanLaiPic);%用已有的函數(shù)進(jìn)行RGB到灰度圖像的轉(zhuǎn)換?
?
[rows , cols , colors] = size(MyYuanLaiPic);%得到原來(lái)圖像的矩陣的參數(shù)?
MidGrayPic = zeros(rows , cols);%用得到的參數(shù)創(chuàng)建一個(gè)全零的矩陣,這個(gè)矩陣用來(lái)存儲(chǔ)用下面的方法產(chǎn)生的灰度圖像?
MidGrayPic = uint8(MidGrayPic);%將創(chuàng)建的全零矩陣轉(zhuǎn)化為uint8格式,因?yàn)橛蒙厦娴恼Z(yǔ)句創(chuàng)建之后圖像是double型的?
?
for i = 1:rows?
??? for j = 1:cols?
??????? sum = 0;?
??????? for k = 1:colors?
??????????? sum = sum + MyYuanLaiPic(i , j , k) / 3;%進(jìn)行轉(zhuǎn)化的關(guān)鍵公式,sum每次都因?yàn)楹竺娴臄?shù)字而不能超過(guò)255?
??????? end?
??????? MidGrayPic(i , j) = sum;?
??? end?
end?
imwrite(MidGrayPic , 'E:/image/matlab/DarkMouseGray.png' , 'png');?
?
%顯示原來(lái)的RGB圖像?
figure(1);?
imshow(MyYuanLaiPic);?
?
%顯示經(jīng)過(guò)系統(tǒng)函數(shù)運(yùn)算過(guò)的灰度圖像?
figure(2);?
imshow(MyFirstGrayPic);?
?
%顯示轉(zhuǎn)化之后的灰度圖像?
figure(3);?
imshow(MidGrayPic);
?
當(dāng)然還可以用RGB轉(zhuǎn)YUV圖像,從而可以獲取得到Y(jié)圖像,以此獲得灰度圖像
總結(jié)
- 上一篇: Cocos2d-x之Log输出机制
- 下一篇: Vim中根据正则对选中文本对齐(比如in