/*************************************************************************
> File Name: opencv.cpp
> Author:
> Mail:
> Created Time: Wed 18 Jul 2018 14:34:42 CST
************************************************************************/
/*
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<iostream>
#include<opencv2/opencv.hpp>
#include<opencv2/imgproc/imgproc.hpp>
using namespace std;
using namespace cv;
int main()
{
// 读取图片
Mat srcImage = imread( "./image/3.jpg", CV_LOAD_IMAGE_COLOR );
if( ! srcImage.data ) //Check for invalid input
{
cout << "Could not open or find the image" << endl;
return -1;
}
Mat dstImage1, dstImage2;
Mat tempImage = srcImage;
// 显示图片
imshow("原图", srcImage);
// 图片的缩小
resize( tempImage, dstImage1, Size(tempImage.cols/2, tempImage.rows/2), 0, 0, INTER_NEAREST );
// 图片的放大
resize( tempImage, dstImage2, Size(tempImage.cols*2, tempImage.rows*2), 0, 0, INTER_NEAREST );
imshow("缩小图", dstImage1);
imshow("放大图", dstImage2);
waitKey();
return 0;
}
OpenCV中图像的缩放
最新推荐文章于 2023-09-20 16:39:54 发布