您的位置:首页 > 运维架构

cvResize() 图像放缩

2016-01-22 23:30 435 查看
有了这个工具,再也不用去下载那种放缩的软件了,自己轻轻地写几句即可,好开心。

 

函数原型:CVAPI(void)  cvResize( const CvArr* src, CvArr* dst,

                       int interpolation CV_DEFAULT( CV_INTER_LINEAR ));

 

使用方法:

1.导入原图像;2.创建一幅目标图像的大小确定的空图像;3.调用cvResize()函数即可

 

测试用图:



 

分别缩小0.4,0.6和0.8

 

程序代码:

#include <highgui.h>
#include<cv.h>
using namespace std;

int main()
{
float ratio_1=0.8;
float ratio_2=0.6;
float ratio_3=0.4;

IplImage *img_in = cvLoadImage("test.jpg",3);
IplImage *img_out_1 =cvCreateImage(cvSize(img_in->width*ratio_1,img_in->height*ratio_1),IPL_DEPTH_8U,3);
IplImage *img_out_2 =cvCreateImage(cvSize(img_in->width*ratio_2,img_in->height*ratio_2),IPL_DEPTH_8U,3);
IplImage *img_out_3 =cvCreateImage(cvSize(img_in->width*ratio_3,img_in->height*ratio_3),IPL_DEPTH_8U,3);

cvNamedWindow("img_in",CV_WINDOW_AUTOSIZE);
cvShowImage("img_in",img_in);

cvResize(img_in,img_out_1);
cvResize(img_in,img_out_2);
cvResize(img_in,img_out_3);

cvNamedWindow("img_out_1",CV_WINDOW_AUTOSIZE);
cvShowImage("img_out_1",img_out_1);
cvNamedWindow("img_out_2",CV_WINDOW_AUTOSIZE);
cvShowImage("img_out_2",img_out_2);
cvNamedWindow("img_out_3",CV_WINDOW_AUTOSIZE);
cvShowImage("img_out_3",img_out_3);

cvWaitKey(0);
cvDestroyAllWindows();
cvReleaseImage(&img_in);
cvReleaseImage(&img_out_1);
cvReleaseImage(&img_out_2);
cvReleaseImage(&img_out_3);

return 0;
}


 运行结果:

 


 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  OpenCV