MyYuanLaiPic = imread('C:\Users\Administrator\Desktop\11.jpg');%讀取RGB格式的圖像
MyFirstGrayPic = rgb2gray(MyYuanLaiPic);%用已有的函數進行RGB到灰階圖像的轉換
[rows , cols , colors] = size(MyYuanLaiPic);%得到原來圖像的矩陣的參數
MidGrayPic = zeros(rows , cols);%用得到的參數建立一個全零的矩陣,這個矩陣用來存儲用下面的方法産生的灰階圖像
MidGrayPic = uint8(MidGrayPic);%将建立的全零矩陣轉化為uint8格式,因為用上面的語句建立之後圖像是double型的
for i = 1:rows
for j = 1:cols
sum = 0;
for k = 1:colors
sum = sum + MyYuanLaiPic(i , j , k) / 3;%進行轉化的關鍵公式,sum每次都因為後面的數字而不能超過255
end
MidGrayPic(i , j) = sum;
end
end
imwrite(MidGrayPic , 'C:\Users\Administrator\Desktop\11.png' , 'png');
%顯示原來的RGB圖像
figure(1);
imshow(MyYuanLaiPic);
%顯示經過系統函數運算過的灰階圖像
figure(2);
imshow(MyFirstGrayPic);
%顯示轉化之後的灰階圖像
figure(3);
imshow(MidGrayPic);