RGB转Gray

Matlab里内置了一个函数rgb2gray()实现该功能

也可以用公式实现转化

G=0.30*R+0.59*G+0.11*B


rgb_image=imread('Fig0604(a).tif');
%gray_im=zeros(600,600);
%%
%不用循环的做法
gray_im=rgb_image(:,:,1)*0.3+rgb_image(:,:,2)*0.59+rgb_image(:,:,3)*0.11;
%%
%下面为添加循环的做法
% for i=1:600
%     for j=1:600
%         gray_im(i,j)=rgb_image(i,j,1)*0.3+rgb_image(i,j,2)*0.59+rgb_image(i,j,3)*0.11;
%     end
% end
%%
gray_im=uint8(gray_im);
gray_image=rgb2gray(rgb_image);
figure,imshow(rgb_image);
figure,imshow(gray_im);
figure,imshow(gray_image)

实现的效果是一样的
原图:
这里写图片描述

转换为灰度图
左图为公式,右图为内置函数

猜你喜欢

转载自blog.csdn.net/awyyauqpmy/article/details/79517256
今日推荐