在基础篇中的开篇了解了图像的读写存放,开始进入简单的图像处理了,这里从图像的放缩开始~
#include "stdafx.h"
#include <opencv2/opencv.hpp>#include "stdio.h"
#define SCALE 0.46
int _tmain(int argc, _TCHAR* argv[])
{
IplImage *src = cvLoadImage("test0.jpg",1);
IplImage *dst = NULL;
cvShowImage("Oripic",src);
cvWaitKey(0);
/*CvSize dst_size;
dst_size.height = (int)(src->height*SCALE);
dst_size.width = (int)(src->width*SCALE);
dst = cvCreateImage(dst_size,src->depth,src->nChannels);*/
dst = cvCreateImage(cvSize(cvRound(src->width*SCALE),cvRound(src->height*SCALE)),src->depth,src->nChannels);
cvResize(src,dst,CV_INTER_LINEAR);
cvShowImage("Curpic",dst);
cvWaitKey(0);
cvReleaseImage(&src);
cvReleaseImage(&dst);
cvDestroyWindow("Oripic");
cvDestroyWindow("Curpic");
return 0;
}
简单处理结果如下所示:
其中代码中使用了cvRound处理浮点数的转化,这样更为简洁,但是一般注释掉的部分也是常见的写法,与之等价。
后面将会进入简单的形态学预处理~