OpenCV级联分类器训练:使用更多正面图像生成.vec文件

时间:2013-09-10 13:57:15

标签: opencv image-recognition

如果我使用带有-img参数的createsamples.exe,则输出.vec文件包含正样本和负样本的组合。

如果我将它与-info参数一起使用,它只剪切和调整带注释的图像的大小,但它们不会与负样本组合。

如何创建更多正面图像和负面图像的组合?

例如,我想创建50个样本,其中一张图片是街上的标记,另外50张带有图片的女巫是房间中的标记。我想使用带有traincascade的输出.vec文件。

我不想认出街道或房间。我的意思是这个例子,我从街上的公司标志上拍照(当太阳照耀,或者正在下雨,因此其他光线条件下徽标看起来不同),并且也在房间里的标志(灯光来自灯)。

所以我想在其他光线条件下从徽标中取出一些照片。但是我不想从不同角度拍摄照片,如果可能的话,这就是创作样本。

我的问题是,如何使用带有更多正图像的createsamples.exe,其中输出包含背景图像上不同角度的原始正图像。

2 个答案:

答案 0 :(得分:2)

contains the combination of the positive sample and the negative samples令人惊讶,因为vec应该只包含阳性样本。当你开始训练时,你应该指定positiv(vec)和负像txt文件和图像列表的位置。你也可能不明白它是如何工作的。你可以训练它找到一种类型的物体,比如不同的面孔,只有眼睛,只有鼻子,只有瓶子......对于一个级联。 街道和房间彼此不相似,所以你需要两个瀑布才能找到街道和房间。

P.S。 50-100个样本真的很少。而且我无法想象你将如何识别街道或房间。阅读关于Haar或LBP算法的一些信息(它是如何工作的,而不是如何使用它)来理解为什么你可能无法做到...

P.P.S。抱歉我的英文...

- 添加:

我做了下一个你想要的事情:例如我想要在creatamples中使用50个img。我为每个img创建了100个样本。是的,我有50个信息文件,包含100个样本位置。我将它们联合到一个信息文件并使用这个大信息文件创建vec文件。因为这是很多工作,我做了一个小程序。

答案 1 :(得分:1)

我找到了解决方案。 这是一个软件,可以合并使用-img参数创建的.vec文件: mergevec.cpp