最大值法(Max)、平均值(Mean)、加权平均值(Weighted Mean)、以及调用函数f四种方法的程序灰度化处理matlab程序
时间: 2023-07-10 13:21:34 浏览: 176
MATLAB处理灰度图的四个实验
好的,针对你的问题,我会提供一个包含四种灰度化方法的matlab程序,你可以根据需要选择对应的方法进行灰度化处理。代码如下:
```matlab
% 读取彩色图像
img = imread('input.png');
% 最大值法(Max)
gray_max = max(img,[],3);
% 平均值法(Mean)
gray_mean = mean(img,3);
% 加权平均值法(Weighted Mean)
weight = [0.2989 0.5870 0.1140]; % 根据亮度对应的权重值(R、G、B)
gray_weight = sum(bsxfun(@times, img, weight), 3);
% 调用函数f进行处理
gray_f = f(img);
% 显示灰度化结果
figure;
subplot(2,2,1);
imshow(gray_max);
title('Max');
subplot(2,2,2);
imshow(gray_mean);
title('Mean');
subplot(2,2,3);
imshow(gray_weight);
title('Weighted Mean');
subplot(2,2,4);
imshow(gray_f);
title('Function f');
% 保存灰度化结果
imwrite(gray_max, 'output_max.png');
imwrite(gray_mean, 'output_mean.png');
imwrite(gray_weight, 'output_weight.png');
imwrite(gray_f, 'output_f.png');
% 自定义函数f
function gray = f(img)
gray = rgb2gray(img);
end
```
以上程序包含了四种方法:最大值法(Max)、平均值法(Mean)、加权平均值法(Weighted Mean)以及调用自定义的函数f。你可以根据需要选择相应的方法进行处理。同时,程序还会将处理后的灰度图像保存为文件。
阅读全文