如何在OpenCV中检测建筑和雕塑?

5
1个回答

4
如果您想要一个算法来检测它们,那么从图像中检测对象需要一种可以被机器或计算机理解的对象描述。对于雕塑或建筑物,由于它们在各个方面都有很大的差异,如何拥有这样的统一定义呢?例如,您的输入图像都有很大的变化。我们如何区分房子和建筑物?您的问题会引发很多问题。即使使用霍夫变换,您如何区分大房子和大建筑物?
查看此SOF:Image Processing: Algorithm Improvement for 'Coca-Cola Can' Recognition 他想要检测可口可乐罐而不是瓶子。但是如果您仔细看,您会发现罐子和瓶子几乎相似,很难区分它们。您可以在后续答案中找到许多困难。主要问题是,在某些情况下,人类也很难区分它们。
在您的第二张图片中,即使为第二张图片训练了一些级联,如果图像中存在活狮子,则有可能检测到活狮子,因为对于机器来说,雕塑狮子和真实狮子看起来几乎相同。
Haar级联可能不太有效,因为您必须对许多这些类型的图像进行训练。
如果您有一些样本图像,并想要检查这些内容是否存在于您的图像中,可以使用SURF特征等。但是您可能需要先获取一些样本图像以进行比较。有关SURF的演示,请查看此SOF:OpenCV 2.4.1 - computing SURF descriptors in Python 另一个选择是模板匹配。但它很慢,并且不具备缩放和方向不变性。而且您需要一些模板图像。
我想我已经看到了一些与此主题相关的论文(但我现在不记得了)。也许通过谷歌搜索可以找到它们。如果我找到了,我会更新答案。

谢谢!Mhnm,我会看一下SURF。但是有很多种建筑形式。 http://www.dicts.info/img/ud/architecture.jpg 或 http://www.thewallpapers.org/photo/54227/architecture-14.jpg 首要的是我想检测建筑物。像狮子这样的东西是次要的。 - 501 - not implemented

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接