【发布时间】:2011-11-30 18:26:05
【问题描述】:
因此,对于我们的最后一年项目,我们正在制作一个漂亮的 lil 应用程序,让用户可以用手机拍摄名片,在其上应用 OCR 并以可打印的形式获取所有必需的信息......我的问题是SIFT 是旋转不变的,即它不能区分“u”和“n”以及其他此类单词和数字。如果你能分享你们为克服这个问题而提出或提出的任何想法,我将不胜感激。 :) 谢谢。
【问题讨论】:
-
导致 SIFT 无法区分“u”和“n”的特征是旋转不变性,而不是尺度不变性。尺度不变性意味着它不区分不同大小的事物。您通常可以在最终使用的任何 SIFT 实现中关闭旋转不变性。
-
你使用的是什么 SIFT 实现?
-
感谢您的意见,是的,我知道比例和旋转不变性之间的区别......我在写我的问题时一定很困惑。我们使用的 SIFT 的实现最初是为 pushto cursive script 设计和编写的……我们已经对其进行了修改以适应我们的具体问题。你可以在这里读到它。 ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5638470
-
您能否更具体地说明如何关闭旋转不变性功能?我应该把代码贴在这里吗?
-
我不知道您正在使用的实现的细节。代码中应该有一个部分确定 SIFT 补丁的主要方向,然后将所有方向调整为相对于该主要方向。如果没有布尔标志来改变这种行为,您可以将主要方向硬编码为等于 0。