我提取自图像的点的图表,如何衡量两个不同图表之间的相似度?

-2 投票
1 回答
29 浏览
提问于 2025-04-14 16:41

每个点都有一个x坐标、y坐标和大小。

例如,下面这两个图应该看起来差不多:

图 1-A:

图 1-A

图 1-B:

图 1-B

而下面这两个图则不应该看起来差不多:

图 2-A:

图 2-A

图 3-A:

图 3-A

有没有什么算法或者方法可以用来判断这些图的相似性呢?

我尝试为每个图创建一个特征向量,比如每个象限中的点数、最大点的大小、两个最大点之间的距离,并计算余弦相似度。但是我发现对于不匹配的图,得到的相似度却很高。我在考虑为此创建一个机器学习模型,并研究了孪生网络,但一直无法正确训练。

1 个回答

1

你可以把你的数据转换成一个矩阵,这个矩阵覆盖了你在x,y坐标平面上的整个区域,每个点代表矩阵的一部分。这样大的数据点就会自动被表示出来。矩阵中的1表示这个位置有东西,0则表示这个位置是空白。

举个例子,如果你有一个3X3的区域,可以像下面这样创建一个矩阵:

101
010
111

然后

111
011
101 

你可以对这两个矩阵进行余弦相似度计算,来评估它们之间的相似程度。OpenCV中可能有一些库可以帮助你实现这个,我的回答主要是告诉你需要达到的基本原理。你面临的主要问题是如何将你的数据表示得更方便进行比较。

撰写回答