问题标签 [glcm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何比较两个 GLCM 以找到相似之处?
我想在两个纹理之间进行比较以确定相似性。我使用以下代码获得了 GLCM 的功能:
现在我有两个图像和它们的 GLCM。怎么比较呢?我的目标实际上是识别打印和扫描效果。
image-processing - Sentinel-1 SNAP 工具箱中的 GLCM 纹理分析输出纹理的最小和最大像素值不在 0 和 1 之间
我已经对 Sentinel-1 SAR 图像实施了 GLCM 纹理分析。图像是高分辨率的。GLCM纹理分析的参数是:
窗口尺寸:5x5
量化器:概率量化器
量化:64位
角度:0度
排量:1
输出是 10 个不同的纹理图像。但是像素值的范围不在 0 和 1 之间。每个纹理的范围都在不同的最小值和最大值之间。我相信这应该在 0 和 1 之间,因为它是针对每个像素计算的 GLCM 概率分析。
我错过了一步吗?
python - 从 GLCM 中提取 Haralick 特征。为什么我会为每个功能获得多个值?
我昨天看到了这篇论文。在本文中,特征被视为对比度、局部均匀性和能量,它们都是单个值(据我所知),但根据 skimage 函数greycomatrix
,传递给这些的参数是distances
和angles
(可能不止一个)。
这是我的代码:
让我困惑的是,如果我生成一个 glcm 的对比度属性,它将是 3x4 大小,但根据论文,它是一个值,即使我将所有属性的所有 3x4 值视为一个特征,我敢打赌它会有一个支持向量机模型的过拟合问题。
image - 如何在python(opencv)中实现GLCM算法进行图像特征提取?
我需要在 python 中或使用 openCV 实现一个算法。一种有助于图像特征提取的算法。我将在这里使用的图像是皮肤图像。请指导我构建此代码。
python - 将图像裁剪到对象区域的区域
我打算将纹理识别应用于不同的花卉图片,并且正在考虑使用 GLCM 进行特征提取。在应用 GLCM 之前,我应该将 RGB 图像转换为灰色图像。我还想从灰色图像中减去背景信息,以仅应用 GLCM 花卉对象的像素来消除噪声。我正在考虑使用skimage。如何从灰色图像中减去背景像素以确保大多数像素属于花卉对象?
matlab - graycomatrix 的 NumLevels 和 GrayLimits 是一回事吗 MATLAB
我一直在考虑在 MATLAB 中使用graycomatrix
. 我发现了两个论点(NumLevels
和GrayLimits
),但在我的研究和实施中,它们似乎达到了相同的结果。
GrayLimits
范围集之间的指定箱[low high]
,导致一组受限的灰度级。
NumLevels
声明图像中的灰度级数。
有人可以解释这两个论点之间的区别,因为我不明白为什么会有两个论点达到相同的结果。
matlab - 从 16 位图像创建灰度共生矩阵
我有一组 16 位的图像数据集,我想从中创建 GLCM 矩阵以提取 GLCM 特征。
但是,生成的矩阵显示一个值(如下图所示),我想知道为什么。
我尝试使用相同的图像但转换为 8 位,结果 GLCM 显示几个值。
注意:我使用了以下 Matlab 函数:
这是 16 位图像的裁剪示例:
注意:计算中使用的图像可以从这里下载。原始图像的对比度非常低,看起来很暗。上面显示的图像的对比度被拉伸,仅用于可视化目的。
编辑:
我用了
它给了我以下结果:
python - 如何将图像的 HH 子带传递给 graycomatrix 函数?
我正在使用 scikit-images 的函数greycomatrix
,我想将在 haar 滤波后从小波变换获得的分量之一作为输入。
如果我传递HH
给greycomatrix
我会收到此错误:
ValueError:greycomatrix 不支持浮动图像。将图像转换为无符号整数类型。
我尝试使用以下代码转换图像:
但我得到了这个错误:
raise ValueError("float 类型的图像必须介于 -1 和 1 之间。") ValueError:float 类型的图像必须介于 -1 和 1 之间。
python - 如何在 python 中使用 scikit-image graycomatrix() -function?
我正在尝试从图像中计算灰度共现矩阵以进行特征提取。我正在使用greycomatrix
该任务,但由于出现以下错误,我似乎对该过程不了解:
ValueError:缓冲区源数组是只读的
(完整的跟踪可以在下面找到)
所以这就是我所做的:
将(PIL)图像转换为具有 8 个量化级别的灰度:
然后计算 glcm 矩阵:
这导致了一个相当神秘的错误:
glcm = graycomatrix(img,距离=[1],角度=[0,np.pi/4,np.pi/2],级别=256,对称=真,规范=真)
_glcm_loop(图像,距离,角度,水平,P)
文件“skimage/feature/_texture.pyx”,第 18 行,在 skimage.feature._texture._glcm_loop
View.MemoryView.memoryview_cwrapper 中的文件“stringsource”,第 654 行
View.MemoryView.memoryview._cinit__ 中的文件“stringsource”,第 349 行 ValueError:缓冲区源数组是只读的
我一直试图对参数感到刺痛,但我似乎无法弄清楚,为什么会发生这种情况。计算 glcm 矩阵的正确方法是什么?
更新
问题在于灰度转换。需要进行以下更改: