C++ 用不同维图像训练支持向量机
我正在尝试实现自动车牌检测(ANPR)。我正在使用以下工具。C++ 用不同维图像训练支持向量机,c++,opencv,image-processing,C++,Opencv,Image Processing,我正在尝试实现自动车牌检测(ANPR)。我正在使用以下工具。 -Ubuntu 12.04操作系统 OpenCV 2.4.13与C++ < /P> 我使用了一些样本图像,每个图像都有不同的维度来准备训练数据集。我使用的一些图像尺寸如下: -468*294 -600*375 -1024*776 等等 我经历过,得到的印象是,如果所有的图像都是相同的尺寸,这种方法就可以工作。此外,我认为这也可能不是一个准确的解决方案 有没有其他方法可以训练具有不同图像维度的SVM?通常的做法是在将输入图像馈送到分类器
-Ubuntu 12.04操作系统
OpenCV 2.4.13与C++ < /P> 我使用了一些样本图像,每个图像都有不同的维度来准备训练数据集。我使用的一些图像尺寸如下:
-468*294
-600*375
-1024*776
等等 我经历过,得到的印象是,如果所有的图像都是相同的尺寸,这种方法就可以工作。此外,我认为这也可能不是一个准确的解决方案
有没有其他方法可以训练具有不同图像维度的SVM?通常的做法是在将输入图像馈送到分类器之前调整输入图像的大小,因为您有固定数量的输入,您需要固定的特征维度,在您的情况下,特征是像素强度,所以,输入图像中的像素数必须固定。请注意,仅在图像中的“某处”设置目标对象是不够的,图像应仅包含目标对象和一些次要背景。此外,对象应居中,并且对象在每个图像中的方向应相同。我想你们的图片是可以的,因为他们有相似的比例,但这是一个常见的错误,所以我想提一下。除了Andrey的答案(调整大小)之外,您还应该知道,调整大小的大小通常是识别对象的最小大小!备注:如果纵横比不完全适合,则调整大小并不总是最佳的。也许你必须在调整尺寸之前进行裁剪(或添加一些额外的背景),以获得正确的纵横比!