Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 获取字符图像的特征点进行点匹配_Android_Image Processing_Matching - Fatal编程技术网

Android 获取字符图像的特征点进行点匹配

Android 获取字符图像的特征点进行点匹配,android,image-processing,matching,Android,Image Processing,Matching,我浏览了互联网,在java上找不到任何匹配点的实现。 因此,我想创建我自己的简单的一个应用于简单的线匹配,如下所示 我的第一步希望获得一些“点”,如下所示,以表达图像的特征。 在获取点之前应用细化(骨架)算法是一种好方法吗? 但我不知道下一步该如何获得有意义的分数,有人能给我一些指导吗 还请指出,如果我真的做了一些愚蠢的、不合理的事情 你的第一步应该是定义你的匹配点应该通过什么样的变换生存下来——它是平移还是旋转、缩放、剪切等?您的第二步是概述匹配的有用属性-即点应稳定于噪声和变换,具有良好的本

我浏览了互联网,在java上找不到任何匹配点的实现。 因此,我想创建我自己的简单的一个应用于简单的线匹配,如下所示

我的第一步希望获得一些“点”,如下所示,以表达图像的特征。 在获取点之前应用细化(骨架)算法是一种好方法吗? 但我不知道下一步该如何获得有意义的分数,有人能给我一些指导吗

还请指出,如果我真的做了一些愚蠢的、不合理的事情


你的第一步应该是定义你的匹配点应该通过什么样的变换生存下来——它是平移还是旋转、缩放、剪切等?您的第二步是概述匹配的有用属性-即点应稳定于噪声和变换,具有良好的本地化,并提供一个唯一的描述符,以实际将其与此“Signautre”匹配。Opencv有一个java库,因此您可以从最慢但工作良好的点和描述符(如SIFT、SURF)开始,然后逐步升级到FAST和您自己的描述符,虽然速度更快,但工作量更大


或者,您可以在字体中找到定义良好的点,如果确定存在对应关系,则可以使用几何散列。在这种情况下,您不需要描述符,甚至不需要显式匹配。请参阅维基百科关于几何哈希的文章。我认为它以一种简单的形式提供了旋转和缩放变换的方法。

你是说字符识别吗?也许,但不完全是。实际上,我想比较一下不同手写字符与计算机字体之间的相似性。我尝试了很多其他的图像比较算法,但是结果非常不准确。主要原因是要匹配的手写字符看起来非常接近,其他算法可能会对它们进行相同的处理,然后我无法通过图像比较来区分它们的差异。最后,我试着进行点匹配,并回答当前的问题。感谢您提供的鼓舞人心的信息!假设我的“输入”与“签名”大小相似,有点失真,但没有旋转。正如在上面的评论中提到的,我正在寻找能够区分相同字符的不同手写单词之间的相似性(可能是%)。一旦特征点被收集,你建议的几何散列是一种很好的方法吗?好吧,如果你能提取相同的字符,然后在相同数量的点上分割它们,那么几何散列确实是有用的。其他有用的是所谓的形状统计模型,在该模型中,您可以对平均形状的偏差进行建模。您甚至可以对这些偏差执行PCA,以发现形状变化中的一些隐藏尺寸,请参见