//resize image
#include <iostream>
#include "opencv2/opencv.hpp"
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
using namespace cv;
using namespace std;
int main()
{
//载入图像
Mat src_img = imread( "src\\bridge.jpg", 1);
Mat dst_img;//定义一个新图像
resize(src_img, dst_img, Size(50, 50));//图像缩放
imshow("dst_img", dst_img);
waitKey(0);
return 0;
}
图像大小变换:
imgproc.hpp:
CV_EXPORTS_W void resize( InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR );
src
输入图像.
dst
输出图像.
interpolation
差值方法:
• CV_INTER_NN - 最近邻差值,
• CV_INTER_LINEAR - 双线性差值 (缺省使用)
• CV_INTER_AREA - 使用象素关系重采样。当图像缩小时候,该方法
可以避免波纹出现。当图像放大时,类似于 CV_INTER_NN 方法..
• CV_INTER_CUBIC - 立方差值.
resize(src_img, dst_img, Size(500, 500), 0, 0, CV_INTER_NN );
resize(src_img, dst_img, Size(500, 500), 0, 0, CV_INTER_LINEAR );
resize(src_img, dst_img, Size(500, 500), 0, 0, CV_INTER_AREA );
resize(src_img, dst_img, Size(500, 500), 0, 0, CV_INTER_CUBIC );
函数 resize 将图像 src 改变尺寸得到与 dst 同样大小。若设定
ROI,函数将按常规支持 ROI.