读入一幅图像,计算均值、标准差、最大值、最小值、自协方差并输出显示结果matlab完整代码
时间: 2024-10-15 15:22:25 浏览: 37
tuxiangzengqiang.rar_协方差_图像标准差_灰度均值_相关系数
在MATLAB中,你可以使用`imread`函数读取图像,然后通过一些内置函数来计算像素值的统计信息。这里是一个简单的例子,展示如何完成这个任务:
```matlab
% 读取图像
img = imread('your_image_file.jpg'); % 替换为你要处理的图片文件路径
% 确保图像是双精度,以便后续计算更精确
img = im2double(img);
% 计算均值、标准差、最大值、最小值
mean_val = mean(img(:));
std_dev = std(img(:));
max_val = max(img(:));
min_val = min(img(:));
% 自相关矩阵(自协方差)
if size(img, 3) == 1
% 对灰度图像计算自相关矩阵
self_corr = corrcoef(img);
else
% 对彩色图像,先转换为灰度再计算
img_gray = rgb2gray(img);
self_corr = corrcoef(img_gray(:));
end
% 输出结果
disp(['Mean: ', num2str(mean_val)]);
disp(['Standard Deviation: ', num2str(std_dev)]);
disp(['Max Value: ', num2str(max_val)]);
disp(['Min Value: ', num2str(min_val)]);
% 显示自相关矩阵
figure;
imagesc(self_corr);
title('Self-Correlation Matrix');
colorbar;
% 结果显示
disp("以上数值和图像已经输出。");
%
阅读全文