我的编程空间,编程开发者的网络收藏夹
学习永远不晚

图片缩放cv2.resize()详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

图片缩放cv2.resize()详解

1 函数cv2.resize()的参数

resize(class="lazy" data-src, dsize, dst=None, fx=None, fy=None, interpolation=None)

参数解释

参数解释
class="lazy" data-src输入原图像
dsize输出图像的大小,方式:(宽,高)
fxwidth方向的缩放比例
fyheight方向的缩放比例
interpolation插值方式,默认为双线性插值

scr、dsize是必传参数,fx、fy、interpolation是可选参数。

2 interpolation参数解释

图片进行缩放,需要对像素进行重新计算,interpolation参数便是决定缩放图像时计算像素的方式,常见的方式以下五种:

参数算法数值
INTER_NEAREST最邻近插值0
INTER_LINEAR双线性插值 (默认)1
INTER_CUBIC4x4像素邻域内的双立方插值2
INTER_AREA使用像素区域关系进行重采样3
INTER_LANCZOS48x8像素邻域内的Lanczos插值4

还有其他的选择:

INTER_BITS2 = 10INTER_LINEAR_EXACT = 5INTER_MAX = 7INTER_NEAREST_EXACT = 6INTER_TAB_SIZE = 32INTER_TAB_SIZE2 = 1024

3 代码演示

import cv2image = cv2.imread('./flower.jpg', 1)h, w, _ = image.shapeimage_f = cv2.resize(image, (0, 0), fx=2, fy=1)image0 = cv2.resize(image, (w * 2, h * 2), interpolation=cv2.INTER_NEAREST)image1 = cv2.resize(image, (w * 2, h * 2), interpolation=cv2.INTER_LINEAR)image2 = cv2.resize(image, (w * 2, h * 2), interpolation=cv2.INTER_CUBIC)image3 = cv2.resize(image, (w * 2, h * 2), interpolation=cv2.INTER_AREA)image4 = cv2.resize(image, (w * 2, h * 2), interpolation=cv2.INTER_LANCZOS4)image5 = cv2.resize(image, (w * 2, h * 2), interpolation=cv2.INTER_BITS)image10 = cv2.resize(image, (w * 2, h * 2), interpolation=cv2.INTER_BITS2)cv2.imshow('image', image)cv2.imshow('image_f', image_f)cv2.imshow('image0', image0)cv2.imshow('image1', image1)cv2.imshow('image2', image2)cv2.imshow('image3', image3)cv2.imshow('image4', image4)cv2.imshow('image5', image5)cv2.imshow('image10', image10)cv2.waitKey(0)

4 效果

image
在这里插入图片描述
image_f
在这里插入图片描述
image0
在这里插入图片描述

image1
在这里插入图片描述
image2
在这里插入图片描述
image3
在这里插入图片描述

image4在这里插入图片描述
image5
在这里插入图片描述
image10
在这里插入图片描述

5 总结

通过图形的效果看来,cv2.INTER_CUBIC、cv2.INTER_LANCZOS4和cv2.INTER_BITS2效果比较好,优于双线性插值cv2.INTER_LINEAR,但是双线性插值速度更佳,如果要缩小图片可以考虑cv2.INTER_LINEAR。

image_f这张图是才是fx和fy,如果不想手动计算图片,则dsize直接置为(0, 0),在大多数时候还是使用dsize而不用fx和fy。

来源地址:https://blog.csdn.net/Zeus_daifu/article/details/128702112

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

图片缩放cv2.resize()详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android 图片缩放实例详解

本文实现Android中的图片的缩放效果 首先设计布局:2022-06-06

Android 图片缩放与旋转的实现详解

本文使用Matrix实现Android实现图片缩放与旋转。示例代码如下: 代码如下:package com.android.matrix;import android.app.Activity;import android.graphics
2022-06-06

Android 自定义imageview实现图片缩放实例详解

Android 自定义imageview实现图片缩放实例详解 觉得这个自定义的imageview很好用 性能不错 所以拿出来分享给大家 因为不会做gif图 所以项目效果 就不好贴出来了 把代码贴出来 1.项目结构图2.Compat
2022-06-06

Java 对图片缩放处理

缩放处理图片上传到服务器后,会根据情况将图片缩小成一个图标,我们可以利用java强大的图形处理功能,对上传的图片进行缩放处理. 下面的程序使用jdk1.4中最新的ImageIO对图片进行读写.使用AffineTransform对图片进行缩放
2023-06-03

Android 在viewPager中双指缩放图片双击缩放图片单指拖拽图片的实现思路

我们就把这个问题叫做图片查看器吧,它的主要功能有:1、双击缩放图片。2、 双指缩放图片。3、单指拖拽图片。为此这个图片查看器需要考虑以下的技术点:一、双击缩放图片:1、如果图片高度比屏幕的高度小得多,那么就将图片放大到高度与屏幕高度相等,否
2023-05-31

ps如何缩放图片大小

本文小编为大家详细介绍“ps如何缩放图片大小”,内容详细,步骤清晰,细节处理妥当,希望这篇“ps如何缩放图片大小”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1、首先“新建”一个ps画布。2、新建完成后,将需要缩
2023-07-02

ps如何放大缩小图片

本文小编为大家详细介绍“ps如何放大缩小图片”,内容详细,步骤清晰,细节处理妥当,希望这篇“ps如何放大缩小图片”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1、首先新建一个桌布。2、新建后,将想要编辑的图片拖动
2023-07-02

在jquery中如何缩放图片

本文介绍了jQuery中的图像缩放方法,涵盖了调整大小、缩放百分比、通过CSS缩放、保持纵横比和响应式缩放。这些方法可以让开发者轻松地实现网页图像的缩放需求,并提供了灵活性和控制力。
在jquery中如何缩放图片
2024-04-02

vue怎么实现图片缩放

这篇“vue怎么实现图片缩放”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue怎么实现图片缩放”文章吧。实现效果如下这几天
2023-06-30

iOS中大尺寸图片的旋转与缩放实例详解

前言 由于iPhone的硬件性能限制,直到iPhone 6s开始,才将最大内存拓展到2G。可即使是如此,也不代表一个应用可使用的空间是2G。一张10000 x 10000的图片,如果通过UIImageJPEGRepresentation方法
2022-05-24

Android图片压缩的实例详解

Android图片压缩的实例详解在做微信分享的时候,由于分享的缩略图要求不得大于32K,否则不能调起微信,所以总结了一下Android图片的压缩问题,大部分资料都是来自网上各位的分享,自己只是完善或修改了一下,本着继续分享的精神,也方便自己
2023-05-30

详解Android 图片的三级缓存及图片压缩

为什么需要图片缓存 Android默认给每个应用只分配16M的内存,所以如果加载过多的图片,为了防止内存溢出,应该将图片缓存起来。图片的三级缓存分别是:内存缓存本地缓存网络缓存 其中,内存缓存应优先加载,它速度最快;本地缓存次优先加载,它速
2022-06-06

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录