本文轉載於文章:http://blog.sina.com.cn/s/blog_4bc179a80100kudp.html
感謝該作者的精心整理
圖像大小變換
void cvResize( const CvArr* src, CvArr* dst, int
interpolation=CV_INTER_LINEAR );
src
輸入圖像.
dst
輸出圖像.
interpolation
差值方法:
• CV_INTER_NN - 最近鄰差值,
• CV_INTER_LINEAR - 雙線性差值 (缺省使用)
• CV_INTER_AREA - 使用象素關係重採樣。當圖像縮小時候,該方法
可以避免波紋出現。當圖像放大時,類似於 CV_INTER_NN 方法..
• CV_INTER_CUBIC - 立方差值.
函數 cvResize 將圖像 src 改變尺寸得到與 dst 同樣大小。若設定
ROI,函數將按常規支持 ROI.
實例:
#include "highgui.h"
#include "cv.h"
#include "cxcore.h"
#include <stdlib.h>
#include <stdio.h>
int main(int argc,char **argv)
{
IplImage *src;
IplImage *desc;
CvSize sz;
double scale = 0.5;
if((src = cvLoadImage( argv[1], 3)) != 0 )
{
sz.width = src->width*scale;
sz.height = src->height*scale;
desc = cvCreateImage(sz,src->depth,src->nChannels);
cvResize(src,desc,CV_INTER_CUBIC);
cvNamedWindow("src",CV_WINDOW_AUTOSIZE);
cvNamedWindow("desc",CV_WINDOW_AUTOSIZE);
cvShowImage("src",src);
cvShowImage("desc",desc);
cvWaitKey(0);
cvReleaseImage(&src);
cvReleaseImage(&desc);
cvDestroyWindow("src");
cvDestroyWindow("desc");
return 0;
}
return -1;
}
圖像如下: