《opencv一次读取多张图片》由会员分享,可在线阅读,更多相关《opencv一次读取多张图片(2页珍藏版)》请在金锄头文库上搜索。
1、1. #define IMAGE_LIST_FILE inputimage.txt 2. int main() 3. 4. FILE *fp; 5. char imagepath200; 6. 7. /* IMAGE_LIST_FILE 存放图像的名字*/ 8. fp=fopen(IMAGE_LIST_FILE,r); 9. while(!feof(fp) 10. while(fscanf(fp, %s , imagepath) 0) 11. 12. /读取图片 13. Mat img=imread(imagepath); 14. imshow(ii,img); 15. waitKey(300
2、0); /每隔三秒显示 16. 17. 18. 19. return 0; 20. 这个比较适合图片非常多的情况,比如 50 张。三张的不用这么麻烦。char filename100;char windowname100;IplImage* pScr;unsigned char *Readfigsmethod1(int num)/ 读入 num 个图片for(int i=1;i=num;i+)sprintf(filename,D:/test/%d.jpg,i);/ 将图片以数字命名:例如 1.jpg 2.jpg 等,放入D:/test/文件夹下sprintf(windowname,window
3、%d.jpg,i);pScr=cvLoadImage(filename,1);/导入图片cvNamedWindow(windowname,CV_WINDOW_AUTOSIZE);cvShowImage(windowname,pScr);/显示图片 /cvWaitKey(0);cvWaitKey(0);cvReleaseImage(&pScr);/释放图片cvDestroyAllWindows();/销毁窗口return 0;注释:连续读取图片主要问题在于 filename 指向图片目录, sprintf(filename,D:/test/%d.jpg,i)的使用可以使得 filename 可以从 1.jpg,2.jpg,一直到num.jpg. filename=D:/test/i.jpg.