Opencv学习笔记(四) -- 图像的放大与缩小

1.涉及函数

  • 函数功能
    对图像进行缩放操作
  • 函数原型
CV_EXPORTS_W 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_LINEAR – 差值方式,一般用默认参数

  • 常用的差值方式
    常用的默认差值方式有以下几种:
    INTER_NEAREST - 最近邻插值
    INTER_LINEAR - 线性插值(默认)
    INTER_AREA - 区域插值
    INTER_CUBIC - 三次样条插值
    INTER_LANCZOS4 - Lanczos插值

  • 返回值

    注意:
    参数dsize、fx和 fy,不能同时为0。

2.代码实例

  • 代码说明
    本例主要展示如何对图像进行放大和缩小操作。
  • 测试平台
    1.开发语言:C++
    2.开发工具:VS2015
    3.操作系统:Win7 X64
  • 具体代码
#include <iostream>
using namespace std;

#include "cv.h"
#include "opencv2\opencv.hpp"
using namespace cv;

#if _DEBUG
#pragma comment(lib,"opencv_world340d.lib")
#else
#pragma comment(lib,"opencv_world340.lib")
#endif

int main()
{
    Mat src = imread("D:\\OpencvTest\\lena.jpg");

    if (src.data != NULL)
    {
        Mat bigImage;
        //放大图像
        resize(src, bigImage, Size(src.cols * 2, src.rows * 2));

        Mat smallImage;
        //缩小图像
        resize(src, smallImage, Size(src.cols / 2, src.rows / 2));

        imshow("原始图像", src);

        imshow("放大图像", bigImage);

        imshow("缩小图像", smallImage);

        cvWaitKey(0);
    }
    else
    {
        cout << "图片加载失败,请检查文件是否存在!" << endl;
    }

    getchar();
    return 0;
}
  • 输出截图
    这里写图片描述

栏目导航
上一篇:Opencv学习笔记(三) – 图像压缩与保存
下一篇:Opencv学习笔记(五) – 图像的拼接

猜你喜欢

转载自blog.csdn.net/u014337397/article/details/80791167
今日推荐