Opencv-图片简单处理

时间:2023-01-20 09:38:20

        在基础篇中的开篇了解了图像的读写存放,开始进入简单的图像处理了,这里从图像的放缩开始~

 #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;

}

  简单处理结果如下所示:

Opencv-图片简单处理

    其中代码中使用了cvRound处理浮点数的转化,这样更为简洁,但是一般注释掉的部分也是常见的写法,与之等价。

后面将会进入简单的形态学预处理~