OpenCV中的图像尺寸调整cvResize()

Resize
图像大小变换 

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 "cv.h"
#include "highgui.h"
int main(int argc,char** argv){
IplImage* img1=cvLoadImage("lena.jpg");
cvNamedWindow("1",1);
cvShowImage("1",img1);


IplImage* img2=cvCreateImage(cvSize(img->width/2,img->height/2),8,3);
cvResize(img,img2,CV_INTER_NN);
cvNamedWindow("2",1);
cvShowImage("2",img2);


while (1){
if (cvWaitKey(100)==27) break;
}

cvDestroyWindow("1“);
cvDestroyWindow("2");
cvReleaseImage(&img1);
cvReleaseImage(&img2);
return 0;
}

将远图像缩小为原图的1/4,其中cvResize()的第三个参数可以是CV_INTER_NN、CV_INTER_LINEAR,CV_INTER_AREA或CV_INTER_CUBIC表示不同的插值方法。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值