在图像处理过程中,有时需要把图像调整到同样大小,便于处理,这时需要用到图像resize()

原函数

void resize(InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR )

前两个参数分别为输入和输出图像。dsize表示输出图像的大小,如果为0,则

\[dsize = Size(round(fx*src.cols), round(fy*src.rows))
\]

dsize和fx、fy不能同时为0。fx、fy是沿x轴和y轴的缩放系数;默认取0时,计算如下

\[fx=(double)dsize.width/src.cols
\]

\[fy=(double)dsize.height/src.rows
\]

最优一个参数interpolation表示插值方式,有以下几种:

INTER_NEAREST - 最近邻插值

INTER_LINEAR - 线性插值(默认)

INTER_AREA - 区域插值

INTER_CUBIC - 三次样条插值

INTER_LANCZOS4 - Lanczos插值

INTER_NEAREST最近邻插值

目标如下的像素点为对应的最近的原图像的像素点。假设原图像大小为(s_height, s_width),目标图像大小为(d_height, d_width),那么高度和宽度的缩放比例为h_ratio = s_height/d_height,w_ratio=s_width/d_width。

对面目标图像像素:(x, y)其值等于原图像(x * w_ration, y * h_ration)处的值。

INTER_LINEAR 线性插值

默认使用。在使用最近邻插值时,得到的坐标未必是一个整数,例如

(xw_ration, yh_ration)=(10.5, 20.5),那么可能取得坐标点就有四种(10, 20)、(11, 20)、(10, 21)、(11, 21)。双线性插值,会把这四个坐标的像素值加权求和。

D(x, y) = S(j, k) * w1 + S(j+1, k) *w2 + S(j+1,k+1) * w3 + S(j, K+1) * w4,其中w为权值。权值大小和计算位置的小数部分有关。

CV_INTER_AREA:区域插值

区域插值分为3种情况。图像放大时类似于线性插值,图像缩小时可以避免波纹出现。

INTER_CUBIC 三次样条插值

使用4x4邻域内的像素双3次插值。

INTER_LANCZOS4 Lanczos插值

使用8×8像素邻域的Lanczos插值

举例

#include <string>

#include <opencv2/opencv.hpp>
#include <opencv2/imgproc/imgproc.hpp> int main(int argc, char* argv[]){
std::string path = "";
int resize_height = 256;
int resize_width = 256;
cv::Mat src = cv::imread(path);
cv::Mat dst;
imshow("src", src);
cv::resize(src, dst, cv::Size(resize_width, resize_height), (0, 0), (0, 0), cv::INTER_LINEAR);
imshow("dst", dst); cv::waitKey(0);
return 0;
}

参考官网

OpenCV(3)-图像resize的更多相关文章

  1. C#使用OpenCV剪切图像中的圆形和矩形

    前言 本文主要介绍如何使用OpenCV剪切图像中的圆形和矩形. 准备工作 首先创建一个Wpf项目--WpfOpenCV,这里版本使用Framework4.7.2. 然后使用Nuget搜索[Emgu.C ...

  2. 图像Resize方式对深度学习模型效果的影响

    在基于卷积神经网络的应用过程中,图像Resize是必不可少的一个步骤.通常原始图像尺寸比较大,比如常见监控摄像机出来的是1080P高清或者720P准高清画面,而网络模型输入一般没有这么大,像Yolo系 ...

  3. Java基于opencv实现图像数字识别(五)—投影法分割字符

    Java基于opencv实现图像数字识别(五)-投影法分割字符 水平投影法 1.水平投影法就是先用一个数组统计出图像每行黑色像素点的个数(二值化的图像): 2.选出一个最优的阀值,根据比这个阀值大或小 ...

  4. Java基于opencv实现图像数字识别(四)—图像降噪

    Java基于opencv实现图像数字识别(四)-图像降噪 我们每一步的工作都是基于前一步的,我们先把我们前面的几个函数封装成一个工具类,以后我们所有的函数都基于这个工具类 这个工具类呢,就一个成员变量 ...

  5. Java基于opencv实现图像数字识别(三)—灰度化和二值化

    Java基于opencv实现图像数字识别(三)-灰度化和二值化 一.灰度化 灰度化:在RGB模型中,如果R=G=B时,则彩色表示灰度颜色,其中R=G=B的值叫灰度值:因此,灰度图像每个像素点只需一个字 ...

  6. Java基于opencv实现图像数字识别(二)—基本流程

    Java基于opencv实现图像数字识别(二)-基本流程 做一个项目之前呢,我们应该有一个总体把握,或者是进度条:来一步步的督促着我们来完成这个项目,在我们正式开始前呢,我们先讨论下流程. 我做的主要 ...

  7. 利用OpenCV给图像添加中文标注

    利用OpenCV给图像添加中文标注 : 参考:http://blog.sina.com.cn/s/blog_6bbd2dd101012dbh.html  和https://blog.csdn.net/ ...

  8. OpenCV中图像的格式Mat 图像深度

    opencv中图像的格式Mat 有图像的定义,图像深度.类型格式等,其中Mat的参数depth为深度,深度反应出图像颜色像素值: 关于数据的储存:(转) Mat_<uchar>对应的是CV ...

  9. Java基于opencv实现图像数字识别(一)

    Java基于opencv实现图像数字识别(一) 最近分到了一个任务,要做数字识别,我分配到的任务是把数字一个个的分开:当时一脸懵逼,直接百度java如何分割图片中的数字,然后就百度到了用Buffere ...

随机推荐

  1. 把pgboucer做成postgresql服务

    把pgbouncer启动命令加入到postgresql服务配置里面.这样方便操作 vi /etc/init.d/postgresql 加入如下红色命令.路径换成你的pgbouncer安装目录 in s ...

  2. SAP ABAP 处理字符串串串串串串串串(详细)

    关于ABAP中处理字符串的方法,非常详细,学习过程中总结一下分享给大家,,, ABAP/4 提供多个处理类型 C 即字符串 的数据对象的关键字. 处理字符串 的方法有: 1.拆分字符串split 2. ...

  3. ORM之四:调用入口与调用示例

    一.ORM入口封装 结合上一篇文章与这里的DbProvider().Init()方法,就很明显的知道了是创建一个mssql的实例.那么在DbService的泛型方法中显示提供了单表操作与多表linq查 ...

  4. (DP6.1.2.1)UVA 147 Dollars(子集和问题)

    /* * UVA_147.cpp * * Created on: 2013年10月12日 * Author: Administrator */ #include <iostream> #i ...

  5. c++ 操作注冊表

    1.       注冊表简单介绍 注冊表是为Windows NT和Windows95中全部32位硬件/驱动和32位应用程序设计的数据文件,用于存储系统和应用程序的设置信息.16位驱动在Winnt (W ...

  6. Java ServletContext 详解

    ServletContext, 是一个全局的储存信息的 空间,服务器开始,其就存在,服务器关闭,其才释放.request,一个用户可有多个:session,一个用户一个:而 servletContex ...

  7. MySQL计划任务(事件调度器)(Event Scheduler)

    http://www.cnblogs.com/c840136/articles/2388512.html https://dev.mysql.com/doc/refman/5.7/en/events- ...

  8. 《RESTful Web Services》第四章 设计URI

    引言 URI是跨越Web的资源描述符,一个URI由以下内容组成——协议.主机.端口号.路径

  9. Mysql数据库导出压缩并保存到指定位置备份脚本

    #!/bin/bashbackdir=/home/shaowei/dbbakdbuser='dbusername'dbpass='dbpasswd'dblist=$(ls -p /var/lib/my ...

  10. 常用免费的WebServices地址

    天气预报Web服务,数据来源于中国气象局 公用事业http://www.webxml.com.cn/WebServices/WeatherWebService.asmx 中国股票行情分时走势预览缩略图 ...