主要介绍函数resize();
图像缩放的效果图如下:
主程序代码及函数解释如下所示:
- /************************************************************************/
- /*
- OpenCV图像缩放使用的函数是:resize
- void resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR )
- 参数含义:
- InputArray src -原图像
- OutputArray dst -输出图像
- Size dsize -目标图像的大小
- double fx=0 -在x轴上的缩放比例
- double fy=0 -在y轴上的缩放比例
- int interpolation -插值方式,有以下四种方式
- INTER_NN -最近邻插值
- INTER_LINEAR -双线性插值 (缺省使用)
- INTER_AREA -使用象素关系重采样,当图像缩小时候,该方法可以避免波纹出现。当图像放大时,类似于 INTER_NN 方法。
- INTER_CUBIC -立方插值。
- 说明:dsize与fx和fy必须不能同时为零
- */
- /************************************************************************/
- #include <opencv2\opencv.hpp>
- #include <opencv2\imgproc\imgproc.hpp>
- using namespace cv;
- int main()
- {
- //读入图像
- Mat srcImage=imread("1.jpg");
- Mat temImage,dstImage1,dstImage2;
- temImage=srcImage;
- //显示原图
- imshow("原图",srcImage);
- //尺寸调整
- resize(temImage,dstImage1,Size(temImage.cols/2,temImage.rows/2),0,0,INTER_LINEAR);
- resize(temImage,dstImage2,Size(temImage.cols*2,temImage.rows*2),0,0,INTER_LINEAR);
- imshow("缩小",dstImage1);
- imshow("放大",dstImage2);
- waitKey();
- return 0;
- }