如何选择OpenCV级联训练的纵横比?

2024-05-16 01:25:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我将要在OpenCV中进行数字板识别系统的培训。 我运行的是python2.7/ubuntu12.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

或者在一般意义上:

^{pr2}$

当我使用以下参数运行opencv_createsamples时,我没有问题,程序运行良好,可以创建样本.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应该比你想要识别的最小的盘子小。在


Tags: sudo数字opencvnotejpghas样本images
1条回答
网友
1楼 · 发布于 2024-05-16 01:25:57

通常,您不希望对象的纵横比变化太大。如果是这样的话,纵横比“错误”的对象可能根本检测不到,您可能需要训练多个检测器而不是一个检测器。但是如果方差不是太大,我会用中位长宽比。实际上,Matlab的计算机视觉系统工具箱中的trainCascadeObjectDetector函数将为您实现这一点。在

相关问题 更多 >