如何比较白色背景上的两条黑色曲线?怎么做得那么快?例如 此
和这个
类似,但是这个
和这个
不是
第一条曲线我将在JPanel上绘制,第二条是图像。
答案 0 :(得分:4)
我有个主意。不确定它是最好的,但不知何故,它允许评估两艘小龙的相似系数。
让我们为每个cruve制作一个矩阵,将1个用于黑色像素,0个用于白色像素。现在,如果我们想首先用矩阵a
和b
比较两个小轮,我们应该构造第三个矩阵c
,其中:
if(a[i][j] == 0 && b[i][j] == 0)
c[i][j] = 0;
else if(a[i][j] == 0 || b[i][j] == 0)
c[i][j] = 1;
else
c[i][j] = 2;
然后,我们将S
个小区的c[i][j] != 0
表示T
和c[i][j] == 2
个T / S > 1 - eps
小区的计数。如果eps
,最后两个巡航是相似的,{{1}}你应该根据你想要的准确度选择自己。
答案 1 :(得分:1)
对于curve1的每个点,找到curve2上的最近点,计算最大或平均距离。然后交换曲线,重复并获取最大结果。
如果您想考虑方向 - 请使用修改后的距离函数,其中包括方向比较。
答案 2 :(得分:0)
此算法不是很准确。您可能需要进行额外的分析,例如: