用于在另一图像中搜索图像的算法。 (大学)

时间:2010-01-29 18:54:03

标签: java c++ algorithm image-processing

这甚至可能吗?我有一个巨大的图像,80mb有很多小图片。它们也倾斜并转过来。如何通过编程搜索图像?我知道如何使用java和c ++。你会怎么做?

4 个答案:

答案 0 :(得分:4)

您可能想要查找比例不变特征变换(SIFT)算法。例如,它用于相当数量的程序,用于自动生成全景图,识别匹配的图片部分,尽管在缩放,倾斜,平移等方面存在差异。

编辑:非常正确 - 它已获得专利,我可能应该首先提到它。如果有人关心它的美国专利#6,711,293

答案 1 :(得分:3)

我之前使用的一种算法是SIFT。如果您对自己实现算法感兴趣,可以看一下course notes for CPSC 425 at UBC,它详细描述了如何在MATLAB中实现SIFT。如果您只想要执行此操作的代码,请查看VLFeat,执行SIFT的C库以及许多其他算法。


来自Jerry Coffin的

Quotation

  

编辑:非常正确 - 它已获得专利,我可能应该首先提到它。如果有人关心它的美国专利#6,711,293

答案 2 :(得分:2)

您对图片了解多少?它到底是什么样的?你有图像的副本,你只需要找出它在大图像中的位置?

无论如何,处理这类问题的CS分支称为Computer Vision

Open CVTINA是您可以使用的两个开源库。

答案 3 :(得分:1)

您应该从最简单的想法开始,看看它们是否足以满足您的需求。在模式匹配领域,最简单的想法是template matching。在OpenCv中可以找到有效的模板匹配实现。

请注意,模板匹配是旋转变体,这意味着如果您尝试匹配的模板可以在您尝试找到它的图像中旋转,除非您预先旋转模板,否则它将无效。