while 循环读入txt出现的跳读问题

来源:互联网 发布:振动数据采集器 编辑:程序博客网 时间:2024/05/16 02:00

程序如

while(getline(fin_imgList,ImgName))      {          cout<<"处理:"<<ImgName<<endl;          string fullName = "F:\\VideoRetrieval\\code\\test\\pedestrianDetection\\train\\neg_or\\" + ImgName;//加上路径名          src = imread(fullName);//读取图片         cout<<"宽:"<<src.cols<<",高:"<<src.rows<<endl;         Mat img = src.clone();//复制原图          vector<Rect> found;//矩形框数组          //对负样本原图进行多尺度检测,检测出的都是误报          hog.detectMultiScale(src, found, 0, Size(8,8), Size(32,32), 1.05, 2);    ……          }  

1、 问题描述:读取txt文件第一行,while跳过一次循环体,读取txt第二行

运行程序时,报下面错,OpenCV Error: Assertion failed (s >= 0) in cv::setSize, file C:\builds\2_4_PackSlave-win64-vc12-shared\opencv\modules\core\src\matrix.cpp, line 116

2、 打开txt文件如:
Train/neg/00000002a.png
Train/neg/00000003a.png
Train/neg/00000004a.png
Train/neg/00000005a.png
Train/neg/00000006a.png
Train/neg/00000010a.png

3、其实用edit with notepad++打开可以看到:
Train/neg/00000002a.png

Train/neg/00000003a.png

Train/neg/00000004a.png

Train/neg/00000005a.png

Train/neg/00000006a.png

Train/neg/00000010a.png

解决方法: 中间夹杂一行空格,删除空格行可以正常运行。

0 0
原创粉丝点击