OpenCV学习,图像批量读取

在进行图片序列处理时,我们常常需要读取文件夹下的每一个图片,我们需要对文件名连续及无规则情况分开讨论,对于文件名连续的情况下,可以利用sprintf函数实现在串口中连续读取同一个文件夹下的图片序列,而对于无规则的情况可以采用基于VC下WIN32_FIND_DATA文件的读取方式。

文件名连续情况下代码:

#include
#include
#include
#include
#include
using namespace std;
using namespace cv;
int main(){
	//定义相关参数
	const int num = 3;
	char fileName[50];
	char windowName[50];
	Mat srcImage;
	for (int i = 1; i <= num; i++){
		//sprintf读入指定路径下的图片序列
		sprintf(fileName, "C:\\Users\\DELL\\Desktop\\image\\%d.jpg", i);
		sprintf(windowName, "No%d", i);
		//按照图像文件名读取
		srcImage = imread(fileName);
		if (srcImage.empty()){
			cout << "read error" << endl;
			return 0;
		}
		namedWindow(windowName);
		imshow(windowName, srcImage);
		cout << "NO" << i << endl;
	}
	waitKey(0);
	system("pause");
	return 0;
}

 

 

你可能感兴趣的:(OpenCV)