OpenCv中批量读取图片数据并显示出来的C++程序

时间:2022-09-29 11:00:22
/*******************************************************************************************************************
*文件功能:
* 1--从硬盘中的一个盘符的文件夹下批量的读取图片并且显示
* 2--从D盘的文件夹下连续读取50张图片
*开发环境:
* win10+vs2013+OpenCv2.4.8
*时间地点:
* 陕西师范大学 2016.10.28
********************************************************************************************************************/
#include<stdio.h>
#include<iostream>

#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/imgproc/imgproc.hpp>

using namespace std;
using namespace cv;

/*******************************************************************************************************************
*模块说明:
* 控制台应用程序的入口函数---Main函数
********************************************************************************************************************/
int main(int argc,char** argv)
{
char strFilename[100]; //【1】定义一个字符数组保存----图片的存储路径
char strWindowname[100]; //【2】定义一个字符数组保存----用于动态更新窗口的窗口名

for (int i = 1; i <= 50; i++)
{
sprintf_s(strFilename, "D:\\myself\\train\\bus%d.jpeg", i); //【3】将图片的路径名动态的写入到strFilename这个地址的内存空间
sprintf_s(strWindowname, "Img%d", i);

IplImage* pImg = cvLoadImage(strFilename); //【4】从指定的路径,将图片加载到内存中
cvNamedWindow(strWindowname,CV_WINDOW_AUTOSIZE); //【5】创建一个显示图片的窗口
cvMoveWindow(strWindowname,200,200); //【6】将显示窗口固定在(200,200)这个位置显示都进来的图片
cvShowImage(strWindowname,pImg); //【7】显示图片
cv::waitKey(1000); //【8】每个1s显示一张读进来的图片


cvReleaseImage(&pImg); //【9】释放掉存储图片的内存
cvDestroyWindow(strWindowname); //【10】销毁窗口的内存
}
return 0;
}