【深度学习】针对ImageNet---AlexNet所写的图像预处理程序(3264*2448)
来源:互联网 发布:淘宝上哪家西服定做好 编辑:程序博客网 时间:2024/05/17 10:25
/********************************************************************************************************************文件功能:* 1--针对AlexNet模型,进行的图片处理程序,将图片处理成256*256的大小* 2--用于更改图片的图片名,后缀图片格式,图片的大小* 3--图片原来的规格有两种:* 1---2448*3264* 2---3264*2448*处理过程:* 2448*3264------2048*2048(setROI)------>1024*1024(cvPyrDown)--->512*512----->256*256开发环境:* win10+vs2013+OpenCv2.4.8*时间地点:* 陕西师范大学 2016.11.9********************************************************************************************************************/#include<stdio.h>#include<iostream>#include<opencv2/core/core.hpp>#include<opencv2/highgui/highgui.hpp>#include<opencv2/imgproc/imgproc.hpp>#include<opencv2/core/core_c.h>#include<opencv2/imgproc/imgproc_c.h>using namespace std;using namespace cv;int main(){char strFilename[100]; //【1】定义一个字符数组保存----图片的存储路径char strWindowname[100]; //【2】定义一个字符数组保存----用于动态更新窗口的窗口名char strFilenameAft[100]; //【3】定义一个字符数组保存----用于给处理之后的图片动态的命名char strFilenameLast[100];int j = 1;for (int i = 1; i <= 211; i++){ //【4】将图片的路径名动态的写入到strFilename这个地址的内存空间sprintf_s(strFilename, "F:\\crack_classify_img\\crack_3_45_256\\1 (%d).jpg", i);sprintf_s(strFilenameAft, "F:\\crack_classify_img\\aft_crack_3_45_256\\noc%d.jpeg", j);sprintf_s(strWindowname, "srcImg%d", j);//===========================================================================================//【模块1】将图片读入内存,并显示//===========================================================================================IplImage* pImg = cvLoadImage(strFilename); //【1】从指定的路径,将图片加载到内存中//cvNamedWindow(strWindowname, CV_WINDOW_AUTOSIZE); //【2】创建一个显示图片的窗口//cvMoveWindow (strWindowname,0,0); //【3】将显示窗口固定在(200,200)这个位置显示都进来的图片//cvShowImage (strWindowname, pImg); //【4】显示图片//cvWaitKey(0);//============================================================================================//【模块2】设置ROI区域裁剪图片----利用ROI区域将图片裁剪为:2048*2048//============================================================================================if ((pImg->width == 2448) && (pImg->height == 3264)){cvSetImageROI(pImg, cvRect(200, 608, 2048, 2048));//【1】设置一个2048*2048的ROI区域}else{cvSetImageROI(pImg, cvRect(608, 200, 2048, 2048));//【1】设置一个2048*2048的ROI区域}cvSaveImage(strFilenameAft,pImg);IplImage* pImgCopy = cvLoadImage(strFilenameAft);//===========================================================================================//【模块3】高斯金字塔下采样// 1----将图片size调节到256*256,并显示// 2----2048*2048:经过连续三次下采样,变为256*256//============================================================================================IplImage* pPyrDownImg = cvCreateImage (cvSize(pImgCopy->width / 2, pImgCopy->height / 2), pImgCopy->depth, pImgCopy->nChannels);IplImage* pPyrDownImg1 = cvCreateImage(cvSize(pPyrDownImg->width / 2, pPyrDownImg->height / 2), pPyrDownImg->depth, pPyrDownImg->nChannels);IplImage* pPyrDownImg2 = cvCreateImage(cvSize(pPyrDownImg1->width/ 2, pPyrDownImg1->height/ 2), pPyrDownImg1->depth, pPyrDownImg1->nChannels);cvPyrDown(pImg, pPyrDownImg, CV_GAUSSIAN_5x5);//【1】2048*2048--->1024*1024cvPyrDown(pPyrDownImg, pPyrDownImg1, CV_GAUSSIAN_5x5);//【2】1024*1024--->512*512cvPyrDown(pPyrDownImg1, pPyrDownImg2, CV_GAUSSIAN_5x5);//【3】512*512----->256*256//cvNamedWindow("【PyrDown】", CV_WINDOW_AUTOSIZE);//cvMoveWindow ("【PyrDown】", 0, 0);//cvShowImage ("【PyrDown】", pPyrDownImg2);cvSaveImage(strFilenameAft, pPyrDownImg2); //【2】将修改图片size之后的图片保存在指定的文件夹下++j;cv::waitKey(1);//============================================================================================//【模块4】释放内存空间//============================================================================================cvReleaseImage(&pImg); //【1】释放掉存储图片的内存cvReleaseImage(&pImgCopy);cvReleaseImage(&pPyrDownImg);cvReleaseImage(&pPyrDownImg1);cvReleaseImage(&pPyrDownImg2);cvDestroyWindow(strWindowname); //【2】销毁窗口的内存//cvDestroyWindow("【PyrDown】");}return 0;}
0 0
- 【深度学习】针对ImageNet---AlexNet所写的图像预处理程序(3264*2448)
- 【深度学习】针对ImageNet---AlexNet缩写的图像预处理程序
- 【深度学习】针对CIFAR-10模型所写的进行图片size,图片名,后缀图片格式写的预处理程序
- 深度学习Imagenet caffe AlexNet 实验步骤
- 深度学习Imagenet caffe AlexNet 实验步骤
- 深度学习Imagenet caffe AlexNet 实验步骤
- alexnet 通过深度卷积对ImageNet图像进行分类
- 【神经网络与深度学习】学习笔记:AlexNet&Imagenet学习笔记
- 【深度学习经典论文翻译1】AlexNet-ImageNet Classification with Deep Convolutional Neural Networks全文翻译
- 学习笔记:AlexNet&Imagenet学习笔记
- 学习笔记:AlexNet&Imagenet学习笔记
- [caffe]深度学习之图像分类模型AlexNet解读
- [caffe]深度学习之图像分类模型AlexNet解读
- [caffe]深度学习之图像分类模型AlexNet解读
- [caffe]深度学习之图像分类模型AlexNet解读
- [caffe]深度学习之图像分类模型AlexNet解读
- [caffe]深度学习之图像分类模型AlexNet解读
- 深度学习之图像分类模型AlexNet解读
- 关系型数据库三范式
- 比赛心得【希望每次脱坑顺利】
- ReentrantReadWriteLock实现读写锁
- 精确计算工具类,提供加减乘除的计算
- 1.什么是Java
- 【深度学习】针对ImageNet---AlexNet所写的图像预处理程序(3264*2448)
- Linux系统MySQL开启远程连接
- 数据结构实验之图论六:村村通公路
- Eclipse建立Maven项目后结构不完整
- 安全正确地使用localStorage来保存数据
- java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver
- 解析二进制协议 包含自定义协议和解析 java TCP编程
- Java中CountDownLatch,CyclicBarrier以及Semaphore的使用场景
- 使用WinDBG生成和调试dump文件