4

作为项目的一部分,我正在尝试测量从图像中采样的 2 个纹理的相似程度。(我取了 2 个大约 40 x 40 像素的平方样本)。

采集样本后,我将它们传递给一组 Gabor 滤波器(具有 2 个滤波器大小和 6 个方向),因此现在每个样本都有 12 个滤波器输​​出。

目标是计算一个度量,告诉我们2 个纹理有多相似,这样如果 2 个样本是木头或砖块,度量分数很低(差异很小),但如果 1 个样本是岩石,另一个是织物那么度量应该很高(纹理非常不同)。

问题是:如何使用此输出测量纹理差异? 有人建议我为每个样本创建一个输出分布,然后测量两个分布之间的距离,但我只是不知道该怎么做。

过滤器看起来像(不完全是):

过滤器组

输出看起来像这样(我借用了这张图片作为示例)

在此处输入图像描述

4

2 回答 2

3

编码纹理的基本方法是计算窗口上的直方图滤波器响应。然后使用直方图比较纹理。一个好的开始方法是查看Local Binary Patterns

LBP 直方图的简化解释:输入图像中的每个像素都由其 3x3 邻域描述。邻域通过阈值转换为索引 [0,255]。然后索引识别直方图中的 bin。

于 2013-04-17T12:44:02.107 回答
3

我知道这是一个旧线程,但这个页面可能会帮助未来的访问者:https ://scikit-image.org/docs/dev/auto_examples/features_detection/plot_gabor.html

这是 Python 中的一个示例,它使用过滤后图像的均值和方差作为判别特征(请参阅函数“compute_feats”)。用于比较的指标只是最小二乘误差(请参阅函数“匹配”)。

于 2013-11-21T17:19:19.433 回答