opencv 如何检测特定形状的物体
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了opencv 如何检测特定形状的物体相关的知识,希望对你有一定的参考价值。
我在做一个课题 需要在绳子上检测是否有钩子挂着,钩子约半米长,形状特殊,用的是opencv VS2012, 现在的想法是用surf算出钩子样本和采集图片的特征点后进行匹配,但在matches.size()计算匹配点个数的时候,得出的值永远是钩子样本的特征点个数,希望大神能帮我解答一下,或者教我一下正确的思路
将现有图像和样本图像的特征点进行匹配,然后判断是否有钩子上的特征点匹配上了,若有,则为有钩子的图像,若无,则为无钩子的图像。OpenCV的全称是:Open Source Computer Vision Library。OpenCV是一个基于(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。如今也提供对于C#,Ch, Ruby的支持。
所有新的开发和算法都是用C++接口。一个使用CUDA的GPU接口也于2010年9月开始实现。 参考技术A 你的思路可以,即将现有图像和样本图像的特征点进行匹配,然后判断是否有钩子上的特征点匹配上了,若有,则为有钩子的图像,若无,则为无钩子的图像。 我觉得,你可能错在没有剔除错误的匹配点,你应该剔除掉错误的匹配点,再来进行分析。追问
谢谢,请问用什么方法可以剔除错误匹配点呢?
追答opencv也有现成的,使用ransac的方法去除错误匹配点。
本回答被提问者采纳以上是关于opencv 如何检测特定形状的物体的主要内容,如果未能解决你的问题,请参考以下文章
pyhton—opencv直线检测(HoughLines)找到最长的一条线