matlab將rgb圖轉為灰度圖的原理代碼


MyYuanLaiPic = imread('e:/image/matlab/Cluo.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 , 'E:/image/matlab/Cluo.png' , 'png');  
  
%顯示原來的RGB圖像  
figure(1);  
imshow(MyYuanLaiPic);  
  
%顯示經過系統函數運算過的灰度圖像  
figure(2);  
imshow(MyFirstGrayPic);  
  
%顯示轉化之后的灰度圖像  
figure(3);  
imshow(MidGrayPic);  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM