You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

提取GLCM特征时按4×4分块计算的算法理解是否正确?

算法理解准确性判断

你对该纹理提取算法核心逻辑的理解基本正确,核心的「4×4网格划分→逐块计算GLCM→提取对应纹理属性」流程和论文要求是匹配的,但存在几个需要核对的差异点:

  • 你在代码中额外加入了5×5高斯模糊的预处理步骤,需要确认原论文是否有对应的预处理要求,该操作会平滑图像的高频纹理信息,和直接在原图灰度图上提取的特征会存在偏差。
  • 你当前使用的是无重叠的网格划分(步长等于块大小4),如果原论文要求采用重叠滑动窗口计算GLCM,当前实现的划分逻辑不符合要求。
  • GLCM参数(距离为1、4个计算方向、对称归一化、5个提取属性)如果和论文参数要求一致,这部分实现是正确的。

现有实现的疏漏点

  1. 边界块兼容问题:当前代码没有做边界块适配,若后续处理非4整数倍尺寸的图像,边缘位置的块尺寸会小于4×4,greycomatrix处理小尺寸块时会输出不符合预期的GLCM矩阵,建议提前对图像做边缘填充/裁剪,保证所有块尺寸统一为4×4。
  2. 特征后处理缺失:当前实现仅输出了所有块的特征拼接结果,单张图像的特征维度高达 6144块 × 5属性 × 4方向 = 122880维,维度极高,大概率遗漏了原论文中后续的特征聚合、降维步骤,建议回头核对论文的特征后处理环节。

计算量优化建议

  • 用numba的@njit装饰器加速双重循环部分,或者改用numpy向量化操作实现块划分和GLCM计算,单进程速度可提升5~15倍。
  • 采用多进程并行处理,可直接对900张图像做并行调度,也可对单张图像的块级GLCM计算做并行拆分,算力足够的情况下可将整体处理时间压缩到原来的1/N(N为核心数)。
  • 若精度允许,可调整块大小为8×8/16×16,或者增大网格划分步长降低块数量,计算量会成倍下降。

内容的提问来源于stack exchange,提问作者XXDIL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 10:54:03