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

程序如

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值