创建正面和负面样本

时间:2014-07-01 08:14:58

标签: opencv training-data

我想训练一个简单的分类器,用于图像中的物体检测。我从互联网上拾取了大约500张图像,其中包含我想要检测的对象。然而,创建边界框(即知道开始和结束点以及框的大小)或将图像分离到正区域和负区域对我来说似乎是很多手工劳动。

是否有一些应用程序/软件使这个过程变得更容易(显然会有一些劳动力需要完成)?

1 个答案:

答案 0 :(得分:0)

C#中有一些叫做Positive Builder的东西。我所做的是手动裁剪图像(例如Paint.NET)和这样一个可爱的脚本来生成所需的文本文件:

void positives()
{
    std::vector<std::string> files;
    files=readFilesFromDir("./Cars");

    std::ofstream myfile;
    myfile.open("./positives.txt");

    for (int i=0;i<files.size();i++)
    {
        cv::Mat img=cv::imread(files[i]);
        myfile<<files[i]<<" 1 0 0 "<<img.cols<<" "<<img.rows<<"\n";
    }
    myfile.close();
}

这个readFilesFromDir是一个不同的问题。