这甚至可能吗?我有一个巨大的图像,80mb有很多小图片。它们也倾斜并转过来。如何通过编程搜索图像?我知道如何使用java和c ++。你会怎么做?
答案 0 :(得分:4)
您可能想要查找比例不变特征变换(SIFT)算法。例如,它用于相当数量的程序,用于自动生成全景图,识别匹配的图片部分,尽管在缩放,倾斜,平移等方面存在差异。
编辑:非常正确 - 它已获得专利,我可能应该首先提到它。如果有人关心它的美国专利#6,711,293。
答案 1 :(得分:3)
我之前使用的一种算法是SIFT。如果您对自己实现算法感兴趣,可以看一下course notes for CPSC 425 at UBC,它详细描述了如何在MATLAB中实现SIFT。如果您只想要执行此操作的代码,请查看VLFeat,执行SIFT的C库以及许多其他算法。
编辑:非常正确 - 它已获得专利,我可能应该首先提到它。如果有人关心它的美国专利#6,711,293。
答案 2 :(得分:2)
您对图片了解多少?它到底是什么样的?你有图像的副本,你只需要找出它在大图像中的位置?
无论如何,处理这类问题的CS分支称为Computer Vision。
答案 3 :(得分:1)
您应该从最简单的想法开始,看看它们是否足以满足您的需求。在模式匹配领域,最简单的想法是template matching。在OpenCv中可以找到有效的模板匹配实现。
请注意,模板匹配是旋转变体,这意味着如果您尝试匹配的模板可以在您尝试找到它的图像中旋转,除非您预先旋转模板,否则它将无效。