matlab图像纹理特征提取 程序
时间: 2023-07-30 10:08:10 浏览: 135
以下是使用灰度共生矩阵(GLCM)提取纹理特征的MATLAB代码示例:
```matlab
% 读取图像
I = imread('image.jpg');
% 将图像转换为灰度图像
I_gray = rgb2gray(I);
% 定义灰度共生矩阵参数
offsets = [0 1; -1 1; -1 0; -1 -1];
num_gray_levels = 256;
symmetric = true;
% 计算灰度共生矩阵
glcms = graycomatrix(I_gray, 'Offset', offsets, 'NumLevels', num_gray_levels, 'Symmetric', symmetric);
% 计算纹理特征
stats = graycoprops(glcms, {'Contrast', 'Correlation', 'Energy', 'Homogeneity'});
% 输出纹理特征
contrast = stats.Contrast;
correlation = stats.Correlation;
energy = stats.Energy;
homogeneity = stats.Homogeneity;
fprintf('Contrast: %f\n', contrast);
fprintf('Correlation: %f\n', correlation);
fprintf('Energy: %f\n', energy);
fprintf('Homogeneity: %f\n', homogeneity);
```
该程序使用`graycomatrix`函数计算灰度共生矩阵,并使用`graycoprops`函数计算纹理特征。`offsets`参数定义了灰度共生矩阵的偏移量,`num_gray_levels`参数定义灰度级别的数量,`symmetric`参数指定是否使用对称灰度共生矩阵。
在上面的示例中,我们计算了对比度、相关性、能量和同质性四种纹理特征。你可以根据自己的需要选择需要计算的纹理特征。
阅读全文