又是在进行处理的时候需要批量读取图像,在图片名称规律的情况下还是挺简单的,在OpenCV中利用sprintf函数实现在窗口中连续读取同一文件夹下的连续图片-即规则下读取。
1 新建文件夹不要含中文
比如我在桌面上新建一个文件夹取名“PIAN”。
文件夹内的图片格式要统一这里我都选用.jpg格式,最后要有规律命名比如我用1234567循序
2 输入代码
#include<opencv2\opencv.hpp>
#include<iostream>
#include<stdio.h>
using namespace std;
using namespace cv;
int main()
{
//定义相关参数
const int num =7;
char fileName[50];
char windowName[50];
Mat srcImage;
for (int i = 1; i <= num; i++){
//sprintf读入指定路径下的图片序列
sprintf(fileName,"C:\\Users\\JY\\Desktop\\PIAN\\%d.jpg", i);
sprintf(windowName, "No%d", i);
//按照图像文件名读取
srcImage = imread(fileName);
if (srcImage.empty()){
cout << "read error" << endl;