如何使用OpenCV从图像中检测旋转对象?

问题描述 投票:0回答:3

我一直在训练用于识别书籍的OpenCV分类器。要求是从图像中识别书籍。我使用了1000多张图片,OpenCV能够检测到没有旋转的书籍。然而,当我试图检测旋转的书时,它无法正常工作。所以我想知道他们是否仍然使用OpenCV检测图像中的旋转对象?

c# python c++ opencv object-detection
3个回答
1
投票

您使用哪些功能来检测您的图书?您是在培训CNN并使用OpenCV进行部署吗?在这种情况下,将旋转图像增强功能添加到训练中可以轻松检测旋转的书籍。

如果您正在使用传统的计算机视觉技术,您可以尝试使用一些旋转不变特征提取器,如SURF,但是,结果将不如使用现在是此类问题的现有技术的CNN一样好。


0
投票

首先,你应该得到qazxsw poi和qazxsw poi的主要理论思想。

您应该定义书籍的一些重要点(一些对每种类型的书有效的特殊和强大的特征),然后您可以使用这些点来估计书的姿势。获得姿势角后,您应该扭曲图像以对齐书籍。在书籍对齐之后,您应该执行特征提取,以便通过这种方式提高书籍检测的成功率。

总之,姿势估计和翘曲(对齐)对于这类旋转问题很重要。


0
投票

使用OpenCV和关键点匹配算法(如SURF或ORB)可以很好地解决您的问题。你真的不需要分类器。根据我的经验,使用未经修改的openCv的此类解决方案可以扩展以识别大约10,000个图像。

我要做的是:离线:循环你的书籍图像,生成一个关键点描述符数据库,将每个描述符与它所来自的书籍的id相匹配。在线:计算查询图像的关键点,并尝试将它们中的每一个匹配(使用BF,FLANN或LSH)到预先计算的数据库的关键点。投票选择与大多数查询关键点匹配的数据库书籍封面。尝试计算所选数据库书籍封面和查询图像之间的单应矩阵以验证匹配。

ORB,BRISK,SURF,SIFT特征描述符都可用于此任务,并且旋转不变。 ORB和BRISK速度更快,性能更低。

请参阅此链接以获取简单示例:pose estimation

© www.soinside.com 2019 - 2024. All rights reserved.