Qt-OpenCV学习笔记--调整图像大小--resize()

概述

这个函数的作用是调整图像大小。

函数

void cv::resize
(
	InputArray 	    src,
    OutputArray 	dst,
    Size 	    dsize,
    double   	fx = 0,
    double   	fy = 0,
    int 	    interpolation = INTER_LINEAR 
)		
src源图像
dst输出图像
dsize输出图像的大小
fx水平方向的缩放因子
fy垂直方向的缩放因子
interpolation 插值方法(参考InterpolationFlags)
  • dsize 的值为0,输出图像的尺寸取决于 fx fy ;当 fx fy 的值为0时,输出图像的尺寸取决于 dsize
  • 关于 interpolation ,如果要缩小图像,通常选用 INTER_AREA ,插值效果最好;如果要放大图像,通常选用 INTER_CUBIC(速度慢/效果好)或者  INTER_LINEAR(速度快/效果差)。

测试代码

#include "widget.h"
#include "ui_widget.h"

#include <QDebug>

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

using namespace cv;

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    //载入图像
    Mat src = imread("c:/opencv/star.jpg");
    //显示
    imshow("src",src);

    //打印尺寸
    qDebug() << src.size().width;
    qDebug() << src.size().height;

    //缩小图像
    Mat dst1;
    //重新定义尺寸
    cv::resize(src,dst1,Size(0,0),0.5,0.5,INTER_AREA);
    //打印尺寸
    qDebug() << dst1.size().width;
    qDebug() << dst1.size().height;
    //显示
    imshow("dst1",dst1);

    //放大图像
    Mat dst2;
    //重新定义尺寸
    cv::resize(src,dst2,Size(500,500),0,0,INTER_CUBIC);
    //打印尺寸
    qDebug() << dst2.size().width;
    qDebug() << dst2.size().height;
    //显示
    imshow("dst2",dst2);


}

Widget::~Widget()
{
    delete ui;
}

测试结果

参考

OpenCV的resize()函数

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值