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

    xiaoxiao2021-03-25  6

    程序如

    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

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

    转载请注明原文地址: https://ju.6miu.com/read-149784.html

    最新回复(0)