Python----计算机视觉处理(Opencv:图像缩放)

news/2025/3/28 12:52:18/

图像缩放 

        与图像旋转里的缩放的原理一样,图像缩放的原理也是根据需要将原图像的像素数量增加或减少,并通 过插值算法来计算新像素的像素值。

导入模块

python">import cv2

输入图像

python">img=cv2.imread('lena.png')

图像缩放

python">img_size=cv2.resize(img,None,fx=0.5,fy=0.5,interpolation=cv2.INTER_LINEAR)

 或

python">img_size=cv2.resize(img,(200,200),interpolation=cv2.INTER_LINEAR)

输出图像

python">cv2.imshow('img_resize',img_size)
cv2.waitKey(0)

完整代码

python">import cv2img=cv2.imread('lena.png')# dsize和fx、fy不能同时使用,如果同时出现,会以dsize的标准进行缩放
# 如果想要使用resize函数,就必须填入两个参数:src和dsize
# 如果不想使用dsize,赋为None就行。
img_size=cv2.resize(img,None,fx=0.5,fy=0.5,interpolation=cv2.INTER_LINEAR)cv2.imshow('img_resize',img_size)
cv2.waitKey(0)

库函数 

resize()

python">	cv.resize(	src, dsize[, dst[, fx[, fy[, interpolation]]]]	) ->	dst
方法描述
src输入图像
dst输出图像
dsize输出图像;它具有大小 dsize(当它不为零时)或从 src.size() 、fx 和 fy 计算的大小;DST 的类型与 src 的类型相同。
fx

沿水平轴的比例因子;当它等于 0 时,它被计算为

fy

沿纵轴的比例因子;当它等于 0 时,它被计算为

interpolation插值方法参见 InterpolationFlags
flags插值方法
INTER_NEAREST

Python:cv.INTER_NEAREST

最近邻插值

INTER_LINEAR

Python:cv.INTER_LINEAR

双线性插值

INTER_CUBIC

Python:cv.INTER_CUBIC

双三次插值

INTER_AREA

Python:cv.INTER_AREA

使用像素区域关系重新采样。这可能是图像抽取的首选方法,因为它可以获得无摩尔纹的结果。但是当图像缩放时,它类似于 INTER_NEAREST 方法。

INTER_LANCZOS4

Python:cv.INTER_LANCZOS4

8x8 邻域上的 Lanczos 插值

INTER_LINEAR_EXACT

Python:cv.INTER_LINEAR_EXACT

位精确双线性插值

INTER_NEAREST_EXACT

Python:cv.INTER_NEAREST_EXACT

位精确最近邻插值。这将产生与 PIL 、 scikit-image 或 Matlab 中的最近邻方法相同的结果。

INTER_MAX

Python:cv.INTER_MAX

插值代码的掩码

WARP_FILL_OUTLIERS

Python:cv.WARP_FILL_OUTLIERS

标志,填充所有目标图像像素。如果其中一些对应于源图像中的异常值,则它们将设置为零

WARP_INVERSE_MAP

Python:cv.WARP_INVERSE_MAP

标志, 逆变换

例如,opencv.org/4.11.0/da/d54/group__imgproc__transform.html#gaa38a6884ac8b6e0b9bed47939b5362f3" rel="nofollow" title="linearPolar">linearPolar 或 logPolar 变换:

  • flag 未设置:dst(ρ,φ)=src(x,y)
  • flag 的dst(x,y)=src(ρ,φ)
WARP_RELATIVE_MAP

Python:cv.WARP_RELATIVE_MAP


http://www.ppmy.cn/news/1580887.html

相关文章

Conda 虚拟环境创建:加不加 Python 版本的深度剖析

在 conda 中创建虚拟环境时,是否指定 Python 具体版本会直接影响环境构建的底层逻辑、依赖管理方式以及后续开发的可控性。 一、核心机制对比 不指定 Python 版本 (conda create -n env_name) 默认继承基础环境版本 Conda 会使用当前基础环境(如 base&am…

Web-Machine-N7靶机实战攻略

1.安装并开启靶机 下载VirtualBox:https://www.virtualbox.org 导入虚拟机 设置为桥接模式 2.获取靶机IP Kali设为桥接模式 3.访问靶机 4.获取敏感目录文件和端口 gobuster dir -u http://172.16.2.68 -w /usr/share/wordlists/dirbuster/directory-list-2.3-me…

基于微信小程序的网上商城

4系统概要设计 4.1 概述 本系统基于Web服务模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示: 图4-1 系统工作原理图 4.2 系统结构 本系统架构网站,本系统的…

[C++面试] 迭代器面试点(难点)

一、入门 1、什么是迭代器&#xff1f;它的作用是什么&#xff1f; 提供对容器元素顺序访问的抽象接口&#xff0c;行为类似指针。 std::vector<int> vec{1,2,3}; for (auto it vec.begin(); it ! vec.end(); it) {std::cout << *it << " "; /…

新质生产力,长沙雨花造!

在全球产业竞争日益激烈的今天&#xff0c;科技创新早已不是选择题&#xff0c;而是决定区域经济能否高质量发展的必答题。 区域经济的突围&#xff0c;往往始于各地工业园区的破局。作为产业聚集的“最小单元”和创新要素的“最大公约数”&#xff0c;现代工业园区定位早已超…

工厂函数详解:概念、目的与作用

一、什么是工厂函数&#xff1f; 工厂函数&#xff08;Factory Function&#xff09;是一种设计模式&#xff0c;其核心是通过一个函数来 创建并返回对象&#xff0c;而不是直接使用 new 或构造函数实例化对象。它封装了对象的创建过程&#xff0c;使代码更灵活、可维护。 二、…

高级java每日一道面试题-2025年2月26日-框架篇[Mybatis篇]-Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式 ?

如果有遗漏,评论区告诉我进行补充 面试官: Mybatis是如何将sql执行结果封装为目标对象并返回的?都有哪些映射形式 ? 我回答: 在Java高级面试中讨论MyBatis如何将SQL执行结果封装为目标对象并返回的过程时&#xff0c;我们可以从过程细节和映射形式两个方面来综合解答这个问…

树莓集团宜宾产业园:建设与发展的全方位解析​

树莓集团宜宾产业园的建设与发展&#xff0c;是区域数字经济转型升级的重要引擎。以下从多个维度进行解析&#xff1a; 产业聚集效应 宜宾产业园通过吸引数字企业入驻&#xff0c;构建完整的数字经济产业链。这不仅推动当地数字产业的蓬勃发展&#xff0c;还促进相关产业的协…