首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将查询和列车图像与从DrawMatches()方法返回的Mat对象分开

如何将查询和列车图像与从DrawMatches()方法返回的Mat对象分开
EN

Stack Overflow用户
提问于 2015-04-13 14:38:43
回答 1查看 308关注 0票数 0

我试图在视频中检测到一个物体。我使用SURF作为特征检测和描述符提取器,BRUTFORCE作为匹配器。我用脸来测试我的作品,我拍了一张我的照片,当我运行相机并将它指向我时,我的脸被检测到,周围画了一个长方形。我试着做另一个测试,我捕捉到了鼠标的图像并调整了大小,当我运行摄像头时,它没有被检测到。

我所面对的问题是:

1-在这种情况下,查询/对象图像的大小是否重要?我之所以问这个问题,是因为我拍到的自我图像比老鼠大,脸被发现了,老鼠却没有。

2-无论我使用哪一幅图像作为查询/对象图像,如何仅显示火车/场景图像的摄像机预览,而不显示查询/对象图像。我问这个问题是因为,我得到的是下面发布的图片中所显示的内容,而我想要做的是这里,我检查了该链接中的代码,它在C++中,但是我遵循了同样的方法,教程使用'drawMatches‘方法,它在java中有一个对等点,即Features2D.DrawMatches(),它们都返回一个Mat对象,其中左侧是查询/对象图像,右侧是火车/场景图像,我在下面发布的图像中也显示了这个方法。

我想要做的是,在没有查询/对象图像的情况下,在相机输出上显示,我希望指定用于相机输出的区域仅显示从摄像机中捕获的火车/场景图像。

请让我知道如何解决这个问题,我想做一些事情,如我在链接中引用的教程。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-16 03:42:39

1-大小的问题,但在你的情况下,我认为最关键的问题是“纹理化”。冲浪检测兴趣点的“纹理梯度”是强大的。在你的鼠标,梯度主要是平滑的,除了周围的标志(富士通),按钮和边缘的图像。在您所指向的教程中,您注意到它使用了一个非常纹理化的对象来演示效果。

据我所知,有一种完全自动的方法来做你想做的事,但只需几步就可以完成。基本上,您必须确定对象的周围框,然后绘制它。要绘制,更容易使用cv::矩形,但是您可以更精确地使用四个(或更多)简历:排队。若要确定周围的框,可以估计筛选的匹配之间的极值点。

祝好运!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29608098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档