作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处

函数原型

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

参数说明

  1. InputArray类型的src,输入图像,如Mat类型。
  2. OutputArray类型的dst,输出图像,其尺寸由第三个参数dsize决定。
  3. Size类型的dsize,输出图像的大小。如果它等于,则大小等于Size(round(fx*src.cols),round(fy*src.rows))。
  4. double类型的fx,沿水平轴的缩放系数,默认值为0,当其等于0时,其数值由该式计算:(double)dsize.width/src.cols;
  5. double类型的fy,沿垂直轴的缩放系数,默认值为0,当其等于0时,其数值由该式计算:(double)dsize.height/src.rows;
  6. int类型的interpolation,表示不同的插值方式,默认为INTER_LINEAR(线性插值)。

其中,可选的插值方式有:

  1. INTER_NEAREST,最邻近插值。
  2. INTER_LINEAR,线性插值。
  3. INTER_CUBIC,三次样条插值,适合放大图像用。
  4. INTER_AREA,区域插值,适合缩小图像用。
  5. INTER_LANCZOS4,Lancazos插值。
  6. INTER_LINEAR_EXACT ,位精确双线性插值。
  7. INTER_MAX,内插码掩模。
  8. WARP_FILL_OUTLIERS,官方解释:flag, fills all of the destination image pixels. If some of them correspond to outliers in the source image, they are set to zero 。
  9. WARP_INVERSE_MAP,官方解释:flag, inverse transf4ormation。

测试代码

#include<opencv2/opencv.hpp>
#include<ctime>
using namespace std;
using namespace cv;int main(void)
{cv::Mat test = imread("long.jpg");cv::Mat result;result = cv::Mat::zeros(test.size(), test.type());cv::resize(test, result, cv::Size(0, 0), 4, 4, 2);imshow("original", test);imshow("resize", result);cv::imwrite("long2.png", result);waitKey(0);system("pause");return 0;
}

测试效果

图1 效果图

图像扩大后难免有模糊、失真之类的情况发生,还需要进行进一步的优化处理~可以关注我后续的文章,会提供一些简单的处理方法~

如果文章帮助到你了,可以点个赞让我知道,我会很快乐~加油!

OpenCV-尺寸调整cv::resize相关推荐

  1. OpenCV尺寸调整函数resize

    2019独角兽企业重金招聘Python工程师标准>>> void resize(InputArray src, OutputArray dst, Size dsize, double ...

  2. python opencv resize函数_OpenCV尺寸调整函数resize

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

  3. 图像尺寸调整 image resize C/C++

    最近邻插值 这种是最基础最简单的方法. void xresize(Mat &src, Mat &des, Size size) {des.create(size, CV_8UC3);i ...

  4. 成功解决OpenCV Error: Assertion failed (ssize.width 0 ssize.height 0) in cv::resize, file C:\proj

    成功解决OpenCV Error: Assertion failed (ssize.width > 0 && ssize.height > 0) in cv::resize ...

  5. OpenCV-Python学习(19)—— OpenCV 图像几何变换之图像缩放(cv.warpAffine、cv.resize)

    1. 学习目标 学习图像的缩放矩阵: 学习 OpenCV 图像缩放函数 cv.resize 和 cv.warpAffine. 2. 图像的缩放矩阵 缩放是物体在 x 轴和 y 轴的缩放比例. fx 是 ...

  6. OpenCV 图像缩放:cv.resize() 函数详解

    目录 系列前言 API 函数详解 参数列表 缩放方式其一 缩放方式其二 两种方式的优先级 关于插值方式 扩展 -- 相关函数 系列前言 这个系列是我第一个想要更下去的系列.每篇会全面介绍一个 Open ...

  7. OpenCV代码提取:resize函数的实现

    之前在http://blog.csdn.net/fengbingchun/article/details/17335477 中有过对cv::resize函数五种插值算法的介绍.这里将OpenCV3.1 ...

  8. 【Python】cv2.error: ... (-215:Assertion failed) ssize.empty() in function ‘cv::resize’ 的解决方法

    遇到了奇怪的错误: cv2.error: OpenCV(4.2.0) C:\projects\opencv-python\opencv\modules\imgproc\src\resize.cpp:4 ...

  9. OpenCV入门系列 —— cv::erode、cv::dilate 图像腐蚀和膨胀

    OpenCV入门系列 -- cv::erode.cv::dilate 图像腐蚀和膨胀 前言 程序说明 输出结果 代码示例 前言 随着工业自动化.智能化的不断推进,机器视觉(2D/3D)在工业领域的应用 ...

最新文章

  1. Foreman安装配置
  2. shiro+php,一套基于SpringBoot+Vue+Shiro 前后端分离 开发的代码生成器
  3. Qt修炼手册1_溢美之词和Designer设计
  4. 设计模式之Facade(外观)模式
  5. java本地可以发到linux不行,java 使用 ftp 在windows环境下可以正常下载文件,在linux环境下不行...
  6. java运算符 —(5)
  7. 【渝粤教育】国家开放大学2018年秋季 2726T畜禽生产概论 参考试题
  8. 几万条数据的excel导入到mysql_【记录】2万多条数据的Excel表格数据导入mysql数据库...
  9. Zabbix二次开发_03api列表
  10. Codeforces 906B. Seating of Students(构造+DFS)
  11. 迷宫 DFS (模拟和DFS)
  12. endnote文献使用简明教程+遇到问题
  13. 『码上行动-编程擂台』学员作品展(附源码)
  14. 【新年礼物】分享十个珍藏学习编程的网站,助大家2022如虎添翼
  15. [DirectShow] 033 - Using Windowed Mode
  16. python 文件批量改名
  17. java 俄罗斯 id_Java ZoneId systemDefault()用法及代码示例
  18. php的strtoupper,关于PHP的strtoupper函数
  19. navicat premium 15 下载安装详细教程
  20. 一个P2P未跑路平台老板的自白

热门文章

  1. python第三天学习总结
  2. 最长上升子序列模板 hdu 1087 Super Jumping! Jumping! Jumping!
  3. 怎么使用Eclipse默认的keystore签名打包成Apk
  4. git多系统协作时换行符问题
  5. posix 线程(一)
  6. centos7 cuda测试_CentOS 7 安装cuda环境
  7. 【论文写作】SpringMVC学籍管理系统如何画用例图(2)
  8. 删除悬镜linux安装教程,Linux安全运维之如何活用history命令
  9. mysql id用什么类型_mysql 证明为什么用limit时,offset很大会影响性能
  10. line划线计算机图像学,【计算机图形学】根本图形元素:直线的生成算法