分量法,最大值法,平均值法,加权平均法
1.分量法
% 读取原始彩色图像
PS = imread('123.jpg');
% 选择红色分量作为灰度值
PS_gray_component = uint8(PS(:,:,1)); % 取红色分量
% 显示灰度图像
imshow(PS_gray_component);
title('分量法灰度图像(红色分量)');
% 保存灰度图像到文件(可选)
imwrite(PS_gray_component, 'PicSampleGray_ComponentRed.bmp');
2.最大值法
% 读取原始彩色图像
PS = imread('123.jpg');
% 使用最大值法计算灰度值
PS_gray_max = uint8(max(PS, [], 3));
% 显示灰度图像
imshow(PS_gray_max);
title('最大值法灰度图像');
% 保存灰度图像到文件(可选)
imwrite(PS_gray_max, 'PicSampleGray_Max.bmp');
3.平均值法
% 读取原始彩色图像
PS = imread('123.jpg');
% 计算RGB三个分量的平均值作为灰度值
PS_gray_average = uint8(mean(PS, 3)); % 对第三个维度(颜色通道)求平均
% 显示灰度图像
imshow(PS_gray_average);
title('平均值法灰度图像');
% 保存灰度图像到文件(可选)
imwrite(PS_gray_average, 'PicSampleGray_Average.bmp')
4.加权平均法
% 读取原始彩色图像
PS = imread('123.jpg');
% 分离RGB三个分量
R = double(PS(:,:,1));
G = double(PS(:,:,2));
B = double(PS(:,:,3));
% 使用加权平均法计算灰度值
PS_gray_weighted = uint8(0.299*R + 0.587*G + 0.114*B);
% 显示灰度图像
imshow(PS_gray_weighted);
title('加权平均法灰度图像');
% 保存灰度图像到文件(可选)
imwrite(PS_gray_weighted, 'PicSampleGray_Weighted.bmp');