字符串格式化函数:sprintf
原型
int sprintf( char *buffer, const char *format, [ argument] … );
参数列表
buffer:char型指针,指向将要写入的字符串的缓冲区。
format:格式化字符串。
[argument]...:可选参数,可以是任何类型的数据。
详细格式化规则,参见http://www.runoob.com/cprogramming/c-function-sprintf.html
实现代码:
#include<iostream>
#include<stdio.h>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>
using namespace std;
using namespace cv;
int main()
{
const int num = 20;//图片数
char fileName[50];//文件名
char windowName[50];
Mat srcImage;
for (int i = 1; i <= num; i++){
//sprintf格式化字符串
//%04d 表示不足4位的话,自动在前面补0,所以格式为0001.jpg
sprintf(fileName, "F:\\opencv_re_learn\\book\\%04d.jpg", i);
sprintf(windowName, "No%d", i);
//读取
srcImage = imread(fileName);
if (!srcImage.data){
cout << "failed to read " << i << "pic" << endl;
system("pause");
return -1;
}
cvNamedWindow(windowName);
imshow(windowName, srcImage);
}
waitKey(0);
return 0;
}
这里只用了一个Mat 来存,当然可以选择用vector <Mat> 来存全部图片。