Opencv 哪种方法更适合训练图像

Opencv 哪种方法更适合训练图像,opencv,image-processing,machine-learning,computer-vision,svm,Opencv,Image Processing,Machine Learning,Computer Vision,Svm,我们是否可以将训练数据放入每个类的单独目录中,循环遍历每个目录中的图像,并根据目录设置标签,就像我将正面图像放在一个有50个图像的目录中,然后将所有图像分配给1,将另一个有50个负面图像的目录分配所有图像-1?这是正确的方法还是让培训师放松训练 string PosImagesDirectory="E:\\faces\\"; string NegImagesDirectory_2="D:\\not_faces\\"; 我首先遍历所有人脸图像并将其赋值为1,然后遍历not_face并将其赋值为-

我们是否可以将训练数据放入每个类的单独目录中,循环遍历每个目录中的图像,并根据目录设置标签,就像我将正面图像放在一个有50个图像的目录中,然后将所有图像分配给1,将另一个有50个负面图像的目录分配所有图像-1?这是正确的方法还是让培训师放松训练

string PosImagesDirectory="E:\\faces\\";
string NegImagesDirectory_2="D:\\not_faces\\";
我首先遍历所有人脸图像并将其赋值为1,然后遍历not_face并将其赋值为-1

或者使用中只有一个目录的方法,如
string YourImagesDirectory_2=“D:\\images\\”

它包含正面和负面图像,随机拍摄图像,我给它们标上数字,哪个图像是正面的,哪个是负面的,但我不清楚这种方法


我想用SIFT/HOG/Bow等特征算法通过图像来训练我的数据,我不理解你的第二种方法。您的意思是在加载它们时一次手动为它们添加一个图像标签吗


我认为第一种方法是可以的。您不需要手动标记它们,只需迭代并标记它们。

第二种方法的意思是,我给正面图像以偶数,给负面图像以奇数,并将它们放入文本文件中,当我随机拍摄图像时,它会检查是否是第19个图像来指定它-1,如果是16个图像,则指定它1,但如果第一种方法是正确的,这对我也有好处,但这种方法会产生错误可能问题出在其他地方,试着分离产生错误的代码行并将其放在问题上如果你想随机化,你可以将所有文件名(作为字符串)放在std::vector中并随机化你也可以使用std::pair来包含字符串和标签+1,如果我的第一种方法比我不需要使用第二种方法好,那么下面是我的方法:
http://stackoverflow.com/questions/18391673/getting-error-using-svm-with-surf/18516792#18516792