/*******************************************************************************************************************
*文件功能:
* 1---用于用对基于caffe深度学习框架的图片进行预处理
* 2---从文件夹中连续的读取图片,然后将size和后缀名不一样的图片修改为size和后缀名一样的图片
* 3---并将修改之后的规则图片保存在aft_train文件夹下面(这些图片可直接用于训练样本)
*开发环境:
* 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】定义一个字符数组保存----用于动态更新窗口的窗口名
char strFilenameAft[100];
for (int i = 1; i <= 50; i++)
{
sprintf_s(strFilename,"D:\\myself\\train\\crack%d.jpeg", i); //【3】将图片的路径名动态的写入到strFilename这个地址的内存空间
sprintf_s(strFilenameAft, "D:\\myself\\aft_train\\crack%d.jpeg", i);
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(10); //【8】每个1s显示一张读进来的图片
cvSetImageROI(pImg,cvRect(0,0,384,256)); //【9】在都进来的图片pImg上设置ROI区域
cvNamedWindow("【ROI_Img】");
cvMoveWindow("【ROI_Img】", 700, 200);
cvShowImage("【ROI_Img】", pImg); //【10】显示ROI区域的图像
cv::waitKey(1000);
cvSaveImage(strFilenameAft, pImg); //【11】将修改图片size之后的图片保存在指定的文件夹下
cvReleaseImage(&pImg); //【9】释放掉存储图片的内存
cvDestroyWindow(strWindowname); //【10】销毁窗口的内存
cvDestroyWindow("【ROI_Img】");
}
return 0;
}
[深度学习]怎样使尺寸大小不一样的图片变为统一的size的C++程序
最新推荐文章于 2024-04-08 03:54:40 发布