C++ 图像中的目标检测

C++ 图像中的目标检测,c++,c,opencv,image-processing,object-detection,C++,C,Opencv,Image Processing,Object Detection,我有一些这样的示例图像: 现在,当用户上传一张图片到我的网站时,我需要检查它是否包含上面的图片或类似的图片 我曾尝试训练opencv haar分类器,但结果似乎并不乐观。不确定是否生成了错误的分类器 我使用了以下命令来生成haar分类器 opencv_createsamples -img logo.jpg -num 500 -bg negatives.dat -vec samples.vec -maxxangle 0.6 -maxyangle 0 -maxzangle 0.3 -maxidev

我有一些这样的示例图像:

现在,当用户上传一张图片到我的网站时,我需要检查它是否包含上面的图片或类似的图片

我曾尝试训练opencv haar分类器,但结果似乎并不乐观。不确定是否生成了错误的分类器

我使用了以下命令来生成haar分类器

opencv_createsamples -img logo.jpg -num 500 -bg negatives.dat -vec samples.vec -maxxangle 0.6 -maxyangle 0 -maxzangle 0.3 -maxidev 100 -bgcolor 0 -bgthresh 0 -w 209 -h 49

opencv_haartraining -data haarcascade -vec samples.vec -bg negatives.dat -nstages 10 -nsplits 2 -minhitrate 0.999 -maxfalsealarm 0.5 -npos 7000 -nneg 3019 -w 83 -h 35 -nonsym -mem 1024 -mode ALL
我用了大约500张底片

对于我的用例来说,使用haar分类器是否也是一种过度使用

我还尝试在opencv中使用cvMatchTemplate方法,结果令人失望。尽管识别出了阳性图像,但假阳性率异常高

我应该尝试正确地训练分类器吗?运行haar训练器也需要非常长的时间


这是我选择的正确方向吗?

在这种情况下,使用SIFT可能会有更好的结果

以下是一些有趣的参考资料:

:简单的Qt接口,用于尝试SIFT、SURF、FAST、BRIENT和其他功能检测器和描述符的OpenCV实现。
另一方面,的第6章介绍了如何使用OpenCV中的特征点检测器、描述符和匹配框架。

在这种情况下,使用SIFT可能会获得更好的结果

以下是一些有趣的参考资料:

:简单的Qt接口,用于尝试SIFT、SURF、FAST、BRIENT和其他功能检测器和描述符的OpenCV实现。
另一方面,的第6章介绍了如何使用OpenCV中的特征点检测器、描述符和匹配框架。

谢谢。我要去调查一下筛子。我尝试过查找对象,但似乎不够准确。谢谢。我要去调查一下筛子。我试过查找对象,但似乎不够准确。