2010-01-29 62 views
3

这甚至有可能吗?我有一个巨大的图像,80mb有很多小图片。他们倾斜并转身。我如何搜索带有编程的图像?我知道如何使用java和C++。你会怎么做呢?在另一幅图像中搜索图像的算法。 (拼贴)

+0

如何在拼贴画中搜索较小的图像?更小的图像本身?什么期望回来?坐标? – Nate 2010-01-29 19:03:48

+0

确实坐标。 – Algific 2010-01-29 19:37:34

+0

你在做BrokenClayTile问题吗? – Brandon 2010-01-30 04:09:29

回答

3

我以前用过的一种算法是SIFT。如果您有兴趣为自己实现该算法,您可以看到course notes for CPSC 425 at UBC,其中详细描述了如何在MATLAB中实现SIFT。如果你只是想要这样做的代码,看看VLFeat,一个C语言库,SIFT和许多其他算法。


Quotation从杰里棺材:

编辑:此话不假 - 它是有专利的,我也许应该提到的是开始。如果有人关心它是美国专利#6,711,293

+1

我参加了该课程实际上,这些笔记没有详细描述如何实施SIFT。此外,如果您对图像处理新手实施SIFT关闭蝙蝠是相当无望的任务。 – ldog 2010-01-29 20:42:48

+0

回想起来,你是对的:SIFT肯定不是微不足道的。希望VLFeat(或筛选++或pysift或类似)将帮助虽然。 – Wesley 2010-01-30 03:45:18

+1

我认为课程笔记的网站更改为http://www.cs.ubc.ca/~woodham/cpsc425/notes/index.html。如果错误,请更正此评论。 – 2011-03-02 15:11:34

4

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

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

+1

SIFT存在一个大问题,即它获得了专利,只能用于研究目的。 – ldog 2010-01-29 19:06:14

2

你对图像了解多少?究竟是什么样子?你有一张图片的副本,你只需要弄清楚它在大图中的位置?

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

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

1

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

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

+0

+1用于提示OpenCV。但是,如果图像可以旋转和倾斜,模板匹配将会非常缓慢。 – Niki 2010-01-31 09:52:51

+0

是的,它可能会很慢,但SIFT本身并不是一个快速算法。模板匹配有几个改进,声称比SIFT获得更好的结果,例如一个研究人员的想法:http://www.lps.usp.br/~hae/software/cirateg/index.html – ldog 2010-01-31 10:03:47

相关问题