输入以下代码% 读取灰度图像 I = imread('蔡徐坤.jpg'); I = rgb2gray(I); % 定义距离和角度 distances = [1,2,3,4]; angles = [0,45,90,135]; % 计算灰度共生矩阵 glcms = graycomatrix(I, 'Offset', [0 1], 'NumLevels', 256, 'GrayLimits', []); % 分析不同距离下的灰度共生矩阵 for d = 1:length(distances) for a = 1:length(angles) glcms(:,:,d,a) = graycomatrix(I, 'Offset', [distances(d)*sind(angles(a)) distances(d)*cosd(angles(a))], 'NumLevels', 256, 'GrayLimits', []); end end为什么会报错错误使用 graycomatrix 第 3 个输入, OFFSET, 应为 整数值。
时间: 2024-01-24 07:04:10 浏览: 49
gray2rgb_rgb_matlab_灰度图像_
5星 · 资源好评率100%
这是因为 `graycomatrix` 函数要求 `Offset` 参数为整数值,但是在代码中使用的是浮点值。可以尝试使用 `round` 函数将浮点值四舍五入为整数值,例如:
```
glcms(:,:,d,a) = graycomatrix(I, 'Offset', [round(distances(d)*sind(angles(a))) round(distances(d)*cosd(angles(a)))], 'NumLevels', 256, 'GrayLimits', []);
```
这样就可以避免上述报错了。
阅读全文