需要一段matlab代码计算图像灰度均值、灰度方差、灰度熵、灰度能量、灰度峰度、相关度、对比度、熵率,并将上述得到的值使用一个矩阵存放
时间: 2023-10-07 12:10:39 浏览: 97
图像灰度检测(灰度,方差)
以下是一段计算图像特征值的Matlab代码,并将结果存放在一个矩阵中。
```matlab
% 读入图像
I = imread('lena.png');
% 计算图像灰度均值
mean_gray = mean(I(:));
% 计算图像灰度方差
var_gray = var(double(I(:)));
% 计算图像灰度熵
p = imhist(I) / numel(I);
p(p==0) = [];
entropy_gray = -sum(p.*log2(p));
% 计算图像灰度能量
energy_gray = sum(sum(double(I).^2));
% 计算图像灰度峰度
kurtosis_gray = kurtosis(double(I(:)));
% 计算图像相关度
corr_gray = corr2(I, I);
% 计算图像对比度
contrast_gray = (max(I(:))-min(I(:))) / (max(I(:))+min(I(:)));
% 计算图像熵率
entropy_rate_gray = entropy_gray / log2(double(numel(I)));
% 将结果存放在一个矩阵中
feature_matrix = [mean_gray var_gray entropy_gray energy_gray kurtosis_gray corr_gray contrast_gray entropy_rate_gray];
```
上述代码中,使用了Matlab内置的一些函数来计算图像特征值。例如,`mean`函数可以计算矩阵的均值,`var`函数可以计算方差,`imhist`函数可以计算图像的直方图,`kurtosis`函数可以计算峰度,`corr2`函数可以计算两个矩阵的相关度。最后,将得到的特征值存放在一个矩阵中,每一行代表一张图像的特征值。
阅读全文