如何为OpenCV级联培训选择宽高比?

时间:2013-09-19 16:27:56

标签: python opencv image-processing

我即将在OpenCV中进行车牌识别系统培训。 我正在运行Python 2.7 / Ubuntu 12.04 / OpenCV(python绑定) 通过sudo apt-get install python-opencv

安装

我已将所有图像标记如下:

images/img000.jpg 1 112 132 203 54
images/img000.jpg 1 112 132 217 47

Note : 203 x 54 has aspect ratio 3.73
Note : 217 x 47 has aspect ratio 4.56

或一般意义上说:

image_dir/filename [#num of bounding rects] x y width height

当我使用以下参数运行opencv_createsamples时,我没有问题,程序运行正常,可以创建samples.vec文件: (见Tutorial: OpenCV Haar Training

opencv_createsamples -info samples.dat -vec samples.vec -w 144 -h 50

现在在我给出的示例中,我们注意到两个数字牌的大小相似,但没有相同的宽高比。

现在,如果我的宽高比介于3.5和4.5之间,如何为样本创建选择-w和-h值?

  • 我可以使用最小或最大宽高比吗?
  • 我可以使用平均宽高比吗?

我担心如果我将这些值基于较短的板上,一些较长的板将被切断(水平),如果我将这些值基于较长的板,则较短板的一些高度可能被切断(垂直)。也许我的想法甚至是错的?

注意:我知道-w和-h应小于您想要识别的最小板块。

1 个答案:

答案 0 :(得分:1)

通常,您不希望对象的纵横比变化很大。如果是这样,可能根本检测不到具有“错误”宽高比的物体,并且您可能必须训练多个探测器而不是一个。但如果方差不是太大,我会使用中值纵横比。事实上,Matlab计算机视觉系统工具箱中的trainCascadeObjectDetector功能将为您完成。