灰度共生矩阵提取纹理特征matlab代码
时间: 2023-11-25 22:43:10 浏览: 63
以下是一个简单的灰度共生矩阵提取纹理特征的 matlab 代码:
% 读取图像
img = imread('lena.jpg');
% 将图像转换为灰度图像
gray_img = rgb2gray(img);
% 设定灰度级别
gray_levels = 8;
% 设定距离和角度
distance = 1;
angle = 0;
% 计算灰度共生矩阵
glcm = graycomatrix(gray_img, 'NumLevels', gray_levels, 'Offset', [distance, angle]);
% 计算灰度共生矩阵的统计特征
stats = graycoprops(glcm, {'contrast', 'correlation', 'energy', 'homogeneity'});
% 输出特征
disp(['Contrast: ', num2str(stats.Contrast)]);
disp(['Correlation: ', num2str(stats.Correlation)]);
disp(['Energy: ', num2str(stats.Energy)]);
disp(['Homogeneity: ', num2str(stats.Homogeneity)]);
相关问题
灰度共生矩阵提取纹理matlab代码
以下是灰度共生矩阵提取纹理的 Matlab 代码:
```matlab
% 读入图像
img = imread('lena.png');
% 将图像转换为灰度图像
gray_img = rgb2gray(img);
% 定义灰度共生矩阵的方向和距离
directions = [0, 1; -1, 1; -1, 0; -1, -1];
distances = [1, 2, 3, 4, 5];
% 定义灰度值的级别数
num_levels = 256;
% 初始化灰度共生矩阵
glcm = zeros(num_levels, num_levels, length(distances), length(directions));
% 计算灰度共生矩阵
for d = 1:length(distances)
for dir = 1:length(directions)
offset = directions(dir, :);
glcm(:, :, d, dir) = graycomatrix(gray_img, 'Offset', offset*distances(d), 'NumLevels', num_levels);
end
end
```
这段代码首先读入图像并将其转换为灰度图像。然后定义了灰度共生矩阵的方向和距离,以及灰度值的级别数。接着初始化灰度共生矩阵,并使用`graycomatrix`函数计算灰度共生矩阵。最终结果存储在`glcm`中,其中第一个维度表示灰度值的行索引,第二个维度表示灰度值的列索引,第三个维度表示距离,第四个维度表示方向。
matlab灰度共生矩阵纹理特征提取代码
当使用MATLAB进行灰度共生矩阵纹理特征提取时,可以使用`graycomatrix`函数来计算灰度共生矩阵,然后使用`graycoprops`函数来提取纹理特征。下面是一个简单的示例代码:
```matlab
% 读取图像
image = imread('image.jpg');
% 将图像转换为灰度图像
grayImage = rgb2gray(image);
% 计算灰度共生矩阵
glcm = graycomatrix(grayImage, 'Offset', [0 1], 'Symmetric', true);
% 提取纹理特征
stats = graycoprops(glcm);
% 输出纹理特征
contrast = stats.Contrast;
correlation = stats.Correlation;
energy = stats.Energy;
homogeneity = stats.Homogeneity;
disp(['Contrast: ', num2str(contrast)]);
disp(['Correlation: ', num2str(correlation)]);
disp(['Energy: ', num2str(energy)]);
disp(['Homogeneity: ', num2str(homogeneity)]);
```
在上述代码中,首先使用`imread`函数读取图像,然后使用`rgb2gray`函数将图像转换为灰度图像。接下来,使用`graycomatrix`函数计算灰度共生矩阵,其中`'Offset'`参数指定了计算共生矩阵时像素之间的偏移量,`'Symmetric'`参数指定了共生矩阵是否对称。然后,使用`graycoprops`函数提取纹理特征,例如对比度(Contrast)、相关性(Correlation)、能量(Energy)和一致性(Homogeneity)。最后,使用`disp`函数输出纹理特征的值。