OpenCV连续读取多张图片
批处理文件到文档: dir /b/s/p/w *.jpg> 文件名字(a.txt)
第一种方式:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
int main(int argc,char** argv)
{
char filename[100];
cv::Mat imag;
for(unsigned int i=0;i<100;i++)
{
sprintf(filename,"F:/image/2/image (%d).bmp",i);
imag=cv::imread(filename,0);
cv::imshow("image",imag);
cv::waitKey(0);
}
}
在第一幅图片上右键单击,在弹出的快捷菜单上单击“重命名”,输入“image(1) “,在空白处单击一下,稍等,所有的图片都按顺序 image (1) , image (2) , image (3) , image (4)……排列重命名了。
第二种方式
这种方式先将图片的名字写入到txt中,然后通过读取txt中的数据,从而达到读取文件夹的图片。
#define IMAGE_LIST_FILE "inputimage.txt"
int main()
{
FILE *fp;
char imagepath[200];
fp=fopen(IMAGE_LIST_FILE,"r");
while(!feof(fp))
while(fscanf(fp, "%s ", imagepath) > 0)
{
cv::Mat img=imread(imagepath);
cv::imshow("ii",img);
cv::waitKey(3000);
}
return 0;
}