matlab中 rgb2gray() 函数 具体实现

            简介

    rgb2gray是matlab内部一种处理图像的函数,通过消除图像色调和饱和度信息同时保留亮度实现将将RGB图像或彩色图转换为灰度图像,即灰度化处理的功能,调用这个功能的格式是I = rgb2gray(RGB),意思是将真彩色图像RGB转换为灰度强度图像I 。

        调用格式

I = rgb2gray(RGB)
newmap= rgb2gray(map)

函数算法

灰度化处理有多种处理方式:分量法 最大法 平均法 加权平均法
Matlab 中采用的是对R、G、B分量进行加权平均的算法:
0.2989R+ 0.5870G + 0.1140B
(注意,rgb2ntsc函数也使用相同的权重来计算Y分量)
        具体函数
function imgray=rgbimage2gray(imrgb)
[m,n,t]=size(imrgb);
for i=1:m
    for j=1:n
        for k=1:t
            
            imgray(i,j,k)=0.299*imrgb(i,j,1)+0.587*imrgb(i,j,2)+0.11400*imrgb(i,j,3);%加权实现从真彩到灰度的降维转换
           
        end
           
    end
end

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值