OpenCV下的图片缩放(转)

相关版本: OpenCV 2.1

复制代码
#include <cv.h>
#include
<highgui.h>
#include
<iostream>
using namespace std;

int main(int argc, char** argv)
{
IplImage
*src = NULL;
IplImage
*dst = NULL;
CvSize dstSize;
double times = 2.0;
src
= cvLoadImage("test.jpg");
if (src == NULL)
{
cout
<< "No Image!" << endl;
return 0;
}
dstSize.width
= src->width * times; //目标图像的宽为源图象宽的times倍
dstSize.height = src->height * times; //目标图像的高为源图象高的times倍

dst
= cvCreateImage(dstSize, src->depth, src->nChannels); //构造目标图象
cvResize(src, dst, CV_INTER_LINEAR); //缩放源图像到目标图像

cvNamedWindow(
"src", CV_WINDOW_AUTOSIZE ); //创建用于显示源图像的窗口
cvNamedWindow( "dst", CV_WINDOW_AUTOSIZE ); //创建用于显示目标图像的窗口

cvShowImage(
"src", src ); //显示源图像
cvShowImage( "dst", dst ); //显示目标图像
cvSaveImage("dst.jpg", dst); //保存本地

cvWaitKey(
-1); //等待用户响应

cvReleaseImage(
&src); //释放源图像占用的内存
cvReleaseImage(&dst); //释放目标图像占用的内存
cvDestroyWindow( "src" ); //销毁窗口“src”
cvDestroyWindow( "dst" ); //销毁窗口“dst”
return 1;
}
复制代码


相关信息:

  CV_INTER_LINEAR:  双线性插值 (缺省使用)

  nChannels: 通道, 大多数函数支持1 ~ 4个通道

posted on 2012-05-10 13:08  carekee  阅读(506)  评论(0编辑  收藏  举报