matlab编程生成给定纹理图像的灰度共生矩阵,基于灰度共生矩阵计算得出纹理图像的能量、对比度、相关度、同质性和熵5种统计特征参数
时间: 2023-07-16 08:17:10 浏览: 148
求取灰度共生矩阵参数(能量、熵、惯性矩、相关性)的Matlab源程序
5星 · 资源好评率100%
以下是使用 MATLAB 编程生成给定纹理图像的灰度共生矩阵的示例代码:
```matlab
% 读取图像并转换为灰度图像
img = imread('texture.jpg');
gray_img = rgb2gray(img);
% 定义灰度共生矩阵的参数:灰度级数、距离、角度
num_gray_levels = 16;
distance = 1;
angles = [0 45 90 135];
% 计算灰度共生矩阵
glcm = graycomatrix(gray_img, 'NumLevels', num_gray_levels, 'Offset', [distance 0; 0 distance], 'Symmetric', true, 'GrayLimits', []);
% 计算纹理图像的能量、对比度、相关度、同质性和熵5种统计特征参数
stats = graycoprops(glcm, {'Energy', 'Contrast', 'Correlation', 'Homogeneity', 'Entropy'});
% 输出结果
fprintf('Energy: %f\n', stats.Energy);
fprintf('Contrast: %f\n', stats.Contrast);
fprintf('Correlation: %f\n', stats.Correlation);
fprintf('Homogeneity: %f\n', stats.Homogeneity);
fprintf('Entropy: %f\n', stats.Entropy);
```
其中,`graycomatrix` 函数用于计算灰度共生矩阵,参数含义如下:
- `gray_img`:灰度图像;
- `NumLevels`:灰度级数;
- `Offset`:偏移量,用于指定计算灰度共生矩阵的方向。本例中指定了水平和垂直方向;
- `Symmetric`:是否对称,本例中设为 true;
- `GrayLimits`:灰度级的范围,本例中未指定。
`graycoprops` 函数用于计算纹理图像的统计特征参数,参数含义如下:
- `glcm`:灰度共生矩阵;
- 字符串数组 `{'Energy', 'Contrast', 'Correlation', 'Homogeneity', 'Entropy'}` 指定了要计算的统计特征参数。
运行代码后,会输出纹理图像的能量、对比度、相关度、同质性和熵5种统计特征参数。
阅读全文