正样本、负样本描述文件的形成方法

一、批处理描述文件负样本图片名字,并保存到一个TXT文件中

        负样本需要的描述文件是一个TXT文件  ,描述的是所有负样本的具体路径,如图所示:

        

          制作方法如下:

        1.在负样本的文件夹中新建一个记事本命名为TXT_creat.txt,内容如下:     

           @echo   off

               dir/s/b   *.*>H:\cascadetrain\negative\img.txt 

               pause

               exit

        2. 将上面H:\cascadetrain\negative\img.txt 路径改为需要生成描述文件的位置。

          注释:  @echo off          表示关闭回显;

                           *.*                      也可以不加;

                           >                  的含义是把前面的结果放到后面的文件中;

       "文件路径" 既可以是绝对路径,也可以是相对路径,不过笔者认为还是用绝对路径比较好;

       3.  将上述记事本保存后,更改为.bat文件,具体方法也就是直接重命名即可,顺便把扩展名由.txt改为.bat

       4.  双击该.bat文件,即可运行,运行结束后,请点开生成的.txt文件,把与负样本数据无关的文件夹路径和

            最后一行或两行删去。

       5.  删除负样本中的.bat文件。

二、正样本描述文件批处理方法

   我们这里正样本描述文件是一个.dat文件,描述的是一个正样本的数据路径  +  “1  0  0 100 100”如下图所示:

      

    后面部分1的含义是该幅人脸图片中只含有一个人脸,后面两个0的含义是,人脸在图片的起始坐标为(0,0);

     最后两个100的含义是该人脸的大小,宽为100个像素,高为100个像素。

  1.正样本描述文件与负样本描述文件的第一步一样,先在正样本的文件夹中新建一个记事本,内容和负样本一样。

  2. 将路径改为需要生成描述文件的位置。

  3—5与上面负样本操作完全一样。

  6.再新建一个批处理文件(.bat),暂时取名为post_txt.bat,其内容如下:

       @echo off
       set c= 1 0 0 20 20
       for /f "tokens=* delims= " %%i in  (img.txt) do echo %%i%c%>>"info.txt"
       pause
  

注意:

      “tokens=* ”                表示取整个行当成一个整体;

      “delims= ”                  的后面一定要有空格;

      %%i in  (pos.txt)        中间也一定有空格;

   7. 这样就生成了正样本的 数据描述文件 info.txt最后将文件重命名为info.dat

描述文件生成的源代码: (请自行下载)

                     链接:https://pan.baidu.com/s/1MQnFwvlR2aHJkah_vaX9rg
                  提取码:yeop

 

      

猜你喜欢

转载自www.cnblogs.com/Jack-Elvis/p/12822372.html