【问题标题】:How to enhance feature detection using ORB in Opencv?如何在 Opencv 中使用 ORB 增强特征检测?
【发布时间】:2019-09-19 08:32:54
【问题描述】:

我正在开发一个Android 应用程序,以使用 ORB 特征检测匹配两个图像。

处理和匹配逻辑在java中使用JNI函数调用。

问题在于特征检测对某些图像效果很好,但在某些图像和某些情况下会失败。

这是在某些未知条件下失败的图像示例

经过一些思考和讨论,我发现问题在于缺少功能,这就是程序失败的原因。 opencv 社区中的某个人尝试了这张图片,它给了他 60 个关键点,所有这些点都无法通过 RobustMatcher 测试。

所以我需要增强这张图片中的特征才能使匹配工作。

除了equalizeHist,我还能做什么?

我希望你能帮助我一些建议,也许还有一些例子。

【问题讨论】:

    标签: android c++ opencv feature-extraction feature-detection


    【解决方案1】:

    一种方法是增强图像的边缘。例如,做一个拉普拉斯滤波器并将结果乘以原始图像。这项工作使特征(边缘)更加突出。当然,在一切都将图像转换为浮点类型之前,最后,标准化您的图像。

    【讨论】:

    • 你能给我举个例子吗?
    • @Amine 您可以在 google 上轻松找到命令。它只是一个过滤器和一个乘法。
    • 我尝试了 GuassianBlur 和 addWeighted 并不起作用,我尝试了 laplacian 应用程序冻结但没有崩溃。
    • @Amine No GuassianBlur 恰恰相反!!!它使边缘平滑,您需要将它们加粗。您还可以使用 sobel 滤镜或任何手工制作的滤镜来增强边缘。尝试使用 sobel 或 laplacian 内核的 filter2D 命令。
    • 好的,谢谢你的建议,我早上试试,然后给你反馈。
    猜你喜欢
    • 2018-04-21
    • 2011-11-06
    • 1970-01-01
    • 2018-01-30
    • 2018-01-15
    • 2021-04-12
    • 2013-03-18
    • 2013-11-27
    • 1970-01-01
    相关资源
    最近更新 更多