如何匹配图像中的纹理相似性



量化图像部分纹理的方法有哪些?我试图检测图像中纹理相似的区域,这是一种衡量"它们有多相似?"

因此,问题是关于图像的哪些信息(边缘、像素值、梯度等)可以被视为包含其纹理信息。

请注意,这不是基于模板匹配。

维基百科没有提供太多关于实际实现任何纹理分析的细节。

您想在图像中找到两个看起来相同(相同纹理)的不同区域,还是将一个图像中的纹理与另一个匹配?由于不同的辐射测量法,第二个更难。

下面是一个如何测量区域相似性的基本方案。

  1. 您编写了一个函数,该函数作为输入获取图像中的一个区域并计算标量值。像平均亮度。这个标量称为特征
  2. 你写更多这样的函数可以获得大约8-30个特性。它们一起形成一个矢量,该矢量对关于图像中区域的信息进行编码
  3. 计算要比较的两个区域的矢量
  4. 定义相似性函数,该函数取两个向量并输出它们的相似程度

您需要专注于第2步和第4步。

步骤2.:使用以下功能:亮度的std(),某种角检测器,熵滤波器,边缘方向的直方图,FFT频率的直方图(x和y方向)。如果可用,请使用颜色信息。

步骤4。可以使用余弦相似性、最小-最大或加权余弦。

在您实现了大约4-6个这样的特性和相似性函数之后,开始运行测试。看看结果,试着理解为什么或在哪里不起作用。然后添加一个特定的功能来覆盖该主题。例如,如果你看到有大斑点的纹理被认为与有小斑点的纹理相似,那么添加形态学滤波器计算的大小>20sq像素的对象密度。

将识别问题设计特定功能的过程重复大约5次,您将开始获得非常好的结果。

我建议使用小波分析。小波在时间和频率上都是局部化的,并且使用多分辨率分析比FT提供更好的信号表示。

本文介绍了一种基于小波的纹理描述方法。还有一种比较方法。

您可能需要稍微修改一个算法来处理任意形状的图像。

一个有趣的方法是使用本地二进制模式。以下是一个基本示例和一些解释:http://hanzratech.in/2015/05/30/local-binary-patterns.html

将这种方法视为从图片中获取特征的多种不同方法之一。它对应于DanielHsH方法的第二步。

相关内容

  • 没有找到相关文章

最新更新