我目前正致力于检测给定图像中的多个水果。例如,给定的图像可以有水果,如香蕉(如黄色,红色和绿色),芒果,橙子等。我能够使用opencv_createsamples
一次创建仅包含一个图像的训练集。
示例代码:
C:\ opencv \ build \ x64 \ vc14 \ bin \ opencv_createsamples.exe -img redbanana.jpg -bg bg.txt -info info / info.lst -pngoutput info -maxxangle 0.5 -maxyangle 0.5 -maxzangle 0.5 -num 100
同样地,我已经完成了大约5个水果,为每个水果创建了单独的vec文件。很难为每种水果创造。是否有可能使用单个vec文件作为输出从多个图像创建训练集?
是否有其他方法可以检测给定图像中的多个水果?
答案 0 :(得分:1)
haar-classifier非常适合快速检测一类类似的外观对象,如opencv文档http:// docs.opencv.org/2.4/modules/objdetect/doc/cascade_classification.html中所述。例如,opencv存储库(https:// github.com/opencv/opencv)有一个分类器列表(https:// github.com/opencv/opencv/tree/master/data/haarcascades),这些分类器是针对特定类别的对象。
除非要检测的物体相似(如具有不同特征的面部或不同品牌和型号的车辆),否则每个水果的分类器(例如香蕉,橙子,芒果等)的训练会更有效。
要创建基于多个正样本图像的训练向量(并且对于哈尔分类器训练的任何其他方面,我建议步骤here - 步骤5和6 - 以及{ {3}}。在您的情况下,正面图像应包括所有类型的香蕉,橙子,芒果等,包括颜色的变化等。
答案 1 :(得分:1)