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

embedded/2025/3/26 6:05:44/

图像缩放 

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

导入模块

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/embedded/174805.html

相关文章

ubuntu20.04安装完显卡驱动后黑屏问题

笔记本安装完ubuntu20.04版本没有wifi怎么解决啊_运维-CSDN问答 1、重启电脑,在系统选择界面选择ubuntu advanced(高级选项),然后选择带有括号的recovery mode,进入之后,在白框中选择root选项并进入&#…

Java EE(12)——初始网络

前言 随着软硬件的快速发展,计算机的通信模式已经由原来的独立模式(计算机之间相互独立)——>局域网通信(同一局域网下的计算机可以通信)——>广域网通信(将多个局域网连接成范围更大的网络结构&…

VLAN综合实验报告

一、实验拓扑 网络拓扑结构包括三台交换机(LSW1、LSW2、LSW3)、一台路由器(AR1)以及六台PC(PC1-PC6)。交换机之间通过Trunk链路相连,交换机与PC、路由器通过Access或Hybrid链路连接。 二、实验…

论文笔记(七十三)Gemini Robotics: Bringing AI into the Physical World

Gemini Robotics: Bringing AI into the Physical World 文章概括1. 引言2. Gemini 2.0的具身推理2.1. 具身推理问答(ERQA)基准测试2.2. Gemini 2.0的具身推理能力2.3. Gemini 2.0支持零样本和少样本机器人控制 3. 使用 Gemini Robotics 执行机器人动作3…

VM虚拟机安装与配置Ubuntu Linux操作系统详细教程~

VM虚拟机安装与配置Ubuntu Linux操作系统详细教程~ 一、下载VM虚拟机二、软件介绍三、安装VM虚拟机四、下载Ubuntu镜像五、配置VM虚拟机(一) 典型(推荐)配置方式(二) 自定义(高级)配置方式六、安装Ubuntu 22.04 LTS 系统(一) 添加镜像源(二) 安装 Ubuntu 系统七、安装o…

【赵渝强老师】达梦数据库MPP集群的架构

为了支持海量数据存储和处理等方面的需求,为高端数据仓库提供解决方案,达梦数据库提供了大规模并行处理MPP架构,以极低的成本代价,提供高性能的并行计算。通过使用MPP可以解决以下问题: 需要较高的系统性能支持以支持…

Ubuntu-Server 设置多个ip和多个ipv6 笔记250320

Ubuntu-Server 设置多个ip和多个ipv6 在 Ubuntu Server 上为同一网卡配置多个 IPv4 和 IPv6 地址, Ubuntu-server-16 用的是 /etc/network/interfaces 配置的 networking Ubuntu-server-17.10 及更新版本默认用的是 systemd-networkd Netplan , 用 Netplan来管理sy…

taosdump备份所有的数据库近10天的数据(deepseek)

以下是使用 taosdump 备份 TDengine 所有数据库中近10天数据的步骤: 1. 获取所有数据库列表 首先登录 TDengine,执行以下命令列出所有非系统数据库: echo "SHOW DATABASES;" | taos | awk NR>2 && $1 !~ /^informatio…