OpenCV训练检测静态图像

时间:2014-04-19 18:00:35

标签: opencv

我想检测一下我国的国旗。但我在训练方面遇到了麻烦。我有一个阳性样本和4个阴性样本。这是我的文件夹structrue:

/negative
   /img
      img1.jpg
      img2.jpg
      img3.jpg
      img4.jpg

/positive
     flag.jpg

这就是我调用create_samples的方式:

opencv_createsamples -img positive/flag.jpg -vec flag.vec

但是命令没有完成,弹出窗口显示错误出现。这是create_samples命令的输出:

Info file name: (NULL)
Img file name: positive/flag.jpg
Vec file name: flag.vec
BG  file name: (NULL)
Num: 1000
BG color: 0
BG threshold: 80
Invert: FALSE
Max intensity deviation: 40
Max x angle: 1.1
Max y angle: 1.1
Max z angle: 0.5
Show samples: FALSE
Width: 24
Height: 24
Create training samples from single image applying distortions...

任何人都可以指导我完成OpenCV中静态图像(1图像)的haar训练过程吗?我正在运行Windows 7 Ultimate x64

修改

这有效:

opencv_createsamples -img positive/flag.jpg -vec flag.vec -num 0

我猜问题是 -num 0 参数

1 个答案:

答案 0 :(得分:0)

Haar不是你检测国家旗帜的最好机会,更好地使用颜色检测

COLOR_MIN = np.array([20, 80, 80],np.uint8)

COLOR_MAX = np.array([40,255,255],np.uint8)
但如果你仍然坚持哈尔

创建样本:

$ <opencv_createsamples> -vec <binary_description> -image <positive_image> -bg <negative_description>    

训练级联:

$ <opencv_traincascade> -data <cascade> -vec <binary_description> -bg     <negative_description>