gpt4 book ai didi

matlab - 用 SIFT 检测数字图像上的印章(印章)印记

转载 作者:行者123 更新时间:2023-12-01 14:45:43 25 4
gpt4 key购买 nike

我正在开发一个应用程序,该应用程序应确定输入图像是否包含印记并返回其位置。对于 RGB 图像,我使用颜色分割并进行验证(使用各种形状因子),对于灰度图像,我认为 SIFT + 验证可以完成这项工作,但使用 SIFT 只会找到我在我的数据库。

在理想情况下,它工作得非常好,如下图所示。

图。1。
http://i.stack.imgur.com/JHkUl.png

当输入图像包含数据库中不存在的标记时,会出现此问题。我做的第一件事是检查如果我将类似的印章与输入图像上的印章进行比较,是否会有任何匹配的关键点。在大多数情况下,没有一个匹配的关键点,如果有的话,它们宁愿引用输入图像的其他部分而不是戳记,如图 2 所示:

图 2。
http://i.stack.imgur.com/coA4l.png

我还尝试在输入图像和圆形图像之间找到匹配,因为印章是圆形的,但圆形图像的关键点很少(如果有的话)。

所以我想知道是否有任何不同的方法可以让 SIFT 在这种情况下更有用?我想从我的数据库中创建一个包含所有描述符和关键点的矩阵,然后在输入图像和矩阵之间寻找最近的欧几里得距离,但它可能不会工作,因为整个数据库中有很多匹配的关键点(不需要) (见图 2)。

我正在使用 Matlab 并尝试了 VLFeat 和 D. Lowe SIFT 实现。

编辑:

所以我找到了一种强制 SIFT 计算图像上用户定义点的描述符的方法。我的测试图像包含一个圆圈,然后计算描述符并将其与输入图像匹配,包括图 1 和图 2 下的图像。这个过程重复了从 0 到 10 的尺度。不幸的是它也没有帮助。

最佳答案

这只是第一个提示,而不是对 SIFT 问题的完整答案。

我的印象是,通过 SIFT 将圆与圆的图像进行匹配来检测圆并不是最好的方法,尤其是当您要检测的圆内部有一些未知纹理时。

圆形检测的教科书算法是Hough transform ,它主要用于线检测,但适用于任何可以用少量参数描述的形状(同事告诉我,3 以上的情况会变得很糟糕,但一个圆圈只有 X、Y 和 r)。有几个implementations在文件交换中,该链接只是一个示例。霍夫圆检测要求您在要检测的半径上设置一个上限,但这对于您的应用程序来说似乎没问题。

从您提供的示例来看,如果您能可靠地检测到圆圈,您应该会走得很远。

关于matlab - 用 SIFT 检测数字图像上的印章(印章)印记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11741038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com