我有一些像这样的样本图片:
现在,当用户将图像上传到我的网站时,我需要检查它是否包含上述图像或其非常相似的变体。
我曾尝试过培训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教练也需要很长时间。
这是我正在采取的正确方向吗?
答案 0 :(得分:5)
在这种情况下,您可能会使用 SIFT 获得更好的结果。
这些是一些有趣的参考资料:
另一方面,OpenCV tutorials的第6章展示了如何使用探测器,描述符和的功能点>在OpenCV中找到匹配的框架。