创建vec文件 createsamples 工具可用于从正负样本描述文件生成训练程序需要的vec文件。 如根据样本描述文件samples.txt生成samples.vec: opencv_createsamples.exe -info samples.txt -vec samples.vec -w 20 opencv_createsamples.exe -img template.png -vec -num 3000 -bg negative.txt -vec samples.vec -w 20 -h 如根据template1.png ~ template3.png分别生成三个vec文件: opencv_createsamples.exe -img template1.png -num 1000 -bg negative -vec sample1.vec -w 20 -h 20 opencv_createsamples.exe -img template2.png -num 1000 -bg
安装成功后开始配置环境变量(配置环境变量比较简单,此处省略),稍后会用到OpenCV中的opencv_createsamples.exe和opencv_traincascade.exe文件训练级联文件, opencv_createsamples.exe负责生成*.vec文件。 opencv_traincascade.exe负责训练级联文件模型。 os.path.join(root, file)) f.write(L[i]+'\n') i+=1 3、获取正样本矢量集vec文件 在文件夹下新建createsamples.bat ,批处理文件,内容如下: opencv_createsamples.exe -vec pos.vec -info pos.txt -num 1100 -w 40 -h 40 pause 其中,-vec 双击createsamples.bat后出现pos.vec即为运行成功。 此时文件夹结构如下: ?
opencv_createsamples :用来准备训练用的正样本数据和测试数据。 opencv_createsamples 能够生成能被opencv_haartraining 和 opencv_traincascade 程序支持的正样本数据。 precalcIdxBufSize 1 三 opencv_traincascade.exe用到的参数及解释 一、训练时存储在变量中的参数(9个参数) 参数 说明 data 训练的分类器的存储目录 vec 正样本文件,由open_createsamples.exe
We'll use a tool OpenCV gives us: opencv_createsamples. The first one we'll use is createsamples.pl, a small Perl script, to get 1500 positive samples, by combining each positive image with a random negative image and then running them through opencv_createsamples. positives.txt negatives.txt samples 1500\ "opencv_createsamples -bgcolor 0 -bgthresh 0 -maxxangle There is a lot of information about opencv_createsamples available online, be sure to read up on it,
在 Windows 上 Windows 上的两个可执行文件称为ONopencv_createsamples.exe和ONopencv_traincascade.exe。 它们不是预建的。 创建训练集和级联 此后,我们将这两个可执行文件称为<opencv_createsamples>和<opencv_traincascade>。 切记替换适合您的系统和设置的路径和文件名。 以<negative_description>和<positive_description>作为参数运行<opencv_createsamples>。 <binary_description>: $ <opencv_createsamples> -vec <binary_description> -info <positive_description> 查看并尝试使用<opencv_createsamples>和<opencv_traincascade>的可选标志。 这些标志在这个页面的官方文档中进行了描述。 祝你好运,寻找图像!
图5 灰度、像素处理后的正负样本 (3) 训练人脸口罩数据集模型 训练级联分类器时使用的是opencv3.4.1版中的opencv\_createsamples.exe和opencv\_traincascade.exe 可以用opencv\_createsamples来准备用于训练的测试数据和正样本数据, 这些数据能够被opencv_traincascade 程序支持。
4.2.2.1.准备正例 正例使用opencv自带的opencv_createsamples.exe生成,注意该exe文件不可独立运行,因此不能拷贝出来使用,其依赖OpenCV的其他文件,因此必须从OpenCV 中调用(opencv\build\x64\vc14\bin\opencv_createsamples.exe),该工具将正例转为.vec文件,主要有以下命令行参数: -vec:输出vec文件的路径 \opencv\build\x64\vc14\bin\opencv_createsamples.exe -vec .
其实下载的VC版本OpenCV主要是为了用这两个文件(opencv_traincascade.exe、opencv_createsamples.exe) 三、测试OpenCV自带的分类器 3.1 自带的分类器文件介绍 \linux-share-dir\OpenCV_TrainingData 命令2:C:\OpenCV_3.4.7\opencv-vc-3.4.7\build\x64\vc15\bin\opencv_createsamples.exe -vec pos.vec -info pos.txt -num 54 -w 40 -h 40 参数介绍: opencv_createsamples.exe: 生成样本描述文件的可执行程序(opencv
有了样本数据之后,可以通过OpenCV3.1.0中自带的工具opencv_createsamples.exe来生成正样本的.vec文件,通过命令行调用该工具即可,具体执行步骤如下: ?
输入opencv_createsamples.exe回车就可以得到训练需要的参数列表。按照输入即可,我创建600个正样本。
然后我们按以下方式调用opencv_createsamples工具: opencv_createsamples -vec samples.vec -img no-entry.png -bg bg.txt 这些值必须与我们使用opencv_createsamples工具生成的阳性样本的宽度和高度完全相同。 该命令的运行将花费几分钟到几小时。 然后,我们可以使用opencv_createsamples工具从带标注的图像中创建正样本。 我们将在下一部分中尝试这种方法。 借助此标注信息文件,我们可以创建正样本: opencv_createsamples -info info.txt -vec samples.vec -w 32 -h 32 如您所见,它比上次使用opencv_createsamples 同样,我们可以使用opencv_createsamples工具进行查看: opencv_createsamples -vec samples.vec -show 您可以通过按键盘上的N在提示窗口中一一查看所有样本
Built target opencv_test_videostab [100%] Built target opencv_traincascade [100%] Built target opencv_createsamples Built target opencv_test_videostab [ 98%] Built target opencv_traincascade [ 98%] Built target opencv_createsamples
lbpcascade_silverware.xml" -- Uninstalling "/usr/local/bin/opencv_haartraining" -- Uninstalling "/usr/local/bin/opencv_createsamples
. ├── bin │ ├── opencv_annotation │ ├── opencv_createsamples │ ├── opencv_interactive-calibration
在这里,使用你的底片图像,你可以使用opencv_createsamples命令来创建一堆正片的示例。你的正片图像将叠加在这些底片上,而且会形成各种各样的角度。 但是,如果你正在寻找所有螺丝刀,则需要拥有数千个螺丝刀的独特图像,而不是使用opencv_createsamples为你生成样品。我们将保持简单,只使用一个正片图像,然后用我们的底片创建一堆样本。 为此,请在工作区中通过终端运行以下命令: opencv_createsamples -img watch5050.jpg -bg bg.txt -info info/info.lst -pngoutput 我们会再次为此使用opencv_createsamples! opencv_createsamples -info info/info.lst -num 1950 -w 20 -h 20 -vec positives.vec 这是我们的矢量文件。
by CMake annotation_SOURCE_DIR:STATIC=F:/opencv/sources/apps/annotation //Value Computed by CMake createsamples_BINARY_DIR :STATIC=F:/opencv/sources/opencv3/apps/createsamples //Value Computed by CMake createsamples_SOURCE_DIR :STATIC=F:/opencv/sources/apps/createsamples //Value Computed by CMake libjasper_BINARY_DIR:STATIC=F