查找图像中的子图像

我有一个相当简单的情况。 我只是不知道任何具体的搜索条件。 我有一个图像,在该图像中我有几个其他图像遵循基本模式。 它们是矩形,可能具有标志性图像,可以作为基础。 一个重要的部分是,我需要检测旋转/错误缩放的子图像。

基本上我需要做的是将“名片”从单个图像拆分为正确对齐的单个图像。

请原谅我糟糕的油漆技巧! http://yfrog.com/eaproblemjj由于我还在设计要扫描的卡片,我可以放入任何符号或其他可以使检测更容易的东西(正如我所说的那样具有里程碑意义)

如果你的例子具有代表性(我怀疑由于某些原因)那么Hough变换就是你的朋友(google it,有很多解释和代码)。 有了它,你将能够检测到矩形。

C#中Hough变换的一些例子是http://www.koders.com/csharp/fid3A88BC1FF95FCA9D6A182698263A40EE7883CF26.aspx和http://www.shedletsky.com/hough/index.html

如果实际发生的是你扫描一些卡片,并且你对这个过程有一些控制权,那么我建议你确保卡片之间没有重叠,并提供对比背景(与卡片有很大不同)。 然后任何边缘检测都会让您足够接近您在示例中绘​​制的内容,之后您可以使用Hough变换。

或者,你可以实现论文http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.59.4239 ,它使用Hough变换直接检测矩形,没有边缘检测。

如果我不理解您的问题,或者您需要澄清,请进一步编辑您的问题,并对此答案发表评论。

尝试AForge.NET(如果您使用的是C#)。 它有DocumentSkewChecker,它将计算旋转图像的角度。

你可以试试ExorgetiveTemplateMatching类的AForge.Net