缩放图像
2016-07-10 00:33
309 查看
一、主要函数介绍
1.1 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.
二、示例程序代码
效果:
1.1 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 "opencv/cv.h" #include "opencv/highgui.h" int main(int argc,char** argv) { double fScale = 0.314; //缩放比例 CvSize dst_imageSize; //目标图像尺寸 //读取文件 IplImage* src_image = cvLoadImage(argv[1]); IplImage* dst_image = NULL; //计算目标图像的大小 dst_imageSize.width = src_image->width * fScale; dst_imageSize.height = src_image->height * fScale; //创建图像并缩放 dst_image = cvCreateImage(dst_imageSize,src_image->depth,src_image->nChannels); cvResize(src_image,dst_image,CV_INTER_AREA); //创建窗口 cvNamedWindow("src_image",1); cvNamedWindow("dst_image",1); //在指定窗口显示图像 cvShowImage("src_image",src_image); cvShowImage("dst_image",dst_image); //等待ESC按键事件 while((cvWaitKey(0) != 27)){ } //保存图像 cvSaveImage("dst_image.jpg",dst_image); //摧毁窗口并释放内存 cvDestroyWindow("src_image"); cvDestroyWindow("dst_image"); cvReleaseImage(&src_image); cvReleaseImage(&dst_image); return 0; }
效果:
相关文章推荐
- Java final修饰类/方法/变量的特点
- web2
- 【转载】计算机图形学框架
- 设计模式-装饰者模式(问题比较大,需要重新处理)
- ubuntu安装teamviewer
- STM32之EXTI(中断)
- 利用xcodebuild命令行进行打包
- android 属性动画入门
- cpp_读取数量不定的输入
- Android Xutils框架使用之ViewUtils
- 防止表单重复提交的几种策略
- Qt 小结
- 接口顺序
- 读取xib文件
- java微信公共帐号支付(JS支付)
- linux chcon命令详解
- 分页显示
- Android-命令行打包
- php使用escapeshellarg时中文被过滤的解决方法
- ViewController控制器的多种创建方式