日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

matlab实现彩色图像灰度化的三种方法

發布時間:2025/4/16 100 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab实现彩色图像灰度化的三种方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、概要

將彩色圖像轉換為灰度圖像的過程稱為灰度化處理。

對于圖像而言,灰度化處理就是使彩色的R,G,B分量值相等的過程。

灰度化處理的方法主要有如下3種:

最大值法:使R,G,B的值等于3值中最大的一個,R=G=B=maxR,G,B),最大值法會形成亮度很高的灰度圖像。

平均值法:是R,G,B的值求出平均值,R=G=B=(R+G+B)/3平均值法會形成較柔和的灰度圖像。

加權平均值法:根據重要性或其他指標給R,G,B賦予不同的權值,并使R,G,B的值加權平均,R=G=B=WR+VG+UB,W,V,U分別表示權重,研究表明,人對綠色的敏感度最高,對紅色次之,對藍色的敏感度最低,因此W>V>U,實驗和理論證明當W=0.30,V=0.59,U=0.11時,能得到最合理的灰度圖像。

二、圖片

三、實現

MyYuanLaiPic = imread('C:\lotus.jpg');%讀取RGB格式的圖像 %顯示原來的RGB圖像 figure(1); imshow(MyYuanLaiPic); MyFirstGrayPic = rgb2gray(MyYuanLaiPic);%用已有的函數進行RGB到灰度圖像的轉換 %顯示經過系統函數運算過的灰度圖像 figure(2); imshow(MyFirstGrayPic); [rows , cols , colors] = size(MyYuanLaiPic);%得到原來圖像的矩陣的參數 MidGrayPic1 = zeros(rows , cols);%用得到的參數創建一個全零的矩陣,這個矩陣用來存儲用下面的方法產生的灰度圖像 MidGrayPic1 = uint8(MidGrayPic1);%將創建的全零矩陣轉化為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 MidGrayPic1(i , j) = sum; end end %平均值法轉化之后的灰度圖像 figure(3); imshow(MidGrayPic1);MidGrayPic2 = zeros(rows , cols);%用得到的參數創建一個全零的矩陣,這個矩陣用來存儲用下面的方法產生的灰度圖像 MidGrayPic2 = uint8(MidGrayPic2);%將創建的全零矩陣轉化為uint8格式,因為用上面的語句創建之后圖像是double型的 for i = 1:rows for j = 1:cols MidGrayPic2(i , j) =max(MyYuanLaiPic(i,j,:)); end end %最大值法轉化之后的灰度圖像 figure(4); imshow(MidGrayPic2);MidGrayPic3 = zeros(rows , cols);%用得到的參數創建一個全零的矩陣,這個矩陣用來存儲用下面的方法產生的灰度圖像 MidGrayPic3 = uint8(MidGrayPic3);%將創建的全零矩陣轉化為uint8格式,因為用上面的語句創建之后圖像是double型的 for i = 1:rows for j = 1:cols MidGrayPic3(i , j) = MyYuanLaiPic(i , j , 1)*0.30+MyYuanLaiPic(i , j , 2)*0.59+MyYuanLaiPic(i , j , 3)*0.11; end end %加權平均值法轉化之后的灰度圖像 figure(5); imshow(MidGrayPic3);

四、結果

總結

以上是生活随笔為你收集整理的matlab实现彩色图像灰度化的三种方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。