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

devtools/2025/3/18 21:52:45/

图像缩放 

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

导入模块

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/devtools/168159.html

相关文章

海量数据查询加速:Presto、Trino、Apache Arrow

1. 引言 在大数据分析场景下,查询速度往往是影响业务决策效率的关键因素。随着数据量的增长,传统的行存储数据库难以满足低延迟的查询需求,因此,基于列式存储、向量化计算等技术的查询引擎应运而生。本篇文章将深入探讨 Presto、Trino、Apache Arrow 三种主流的查询优化工…

QT | 信号与槽(超详解)

前言 对qt信号和槽的详细解释 💓 个人主页:普通young man-CSDN博客 ⏩ 文章专栏:C_普通young man的博客-CSDN博客 ⏩ 本人giee: 普通小青年 (pu-tong-young-man) - Gitee.com 若有问题 评论区见📝 🎉欢迎大家点赞&am…

FANUC机器人几种常用的通讯网络及接口

FANUC机器人几种常用的通讯网络及接口 Devicenet 网络通讯接口,接口为5针线 (规定用的机架为 81-84) PROFIBUS 网络通讯接口,针脚为2针(规定用的机架为 67) Intemet 网络通讯接口(常用的网线接口&#xf…

在Flutter中使用Future读取一个大文件会导致线程阻塞吗

目录 一、Future 与文件读取的机制 1. Dart 的异步 I/O 原理 2. 代码示例 二、什么情况下会阻塞主线程? 1. I/O 操作本身不会阻塞 2. 数据处理可能阻塞 3. 示例对比 三、如何避免阻塞主线程? 1. 将耗时操作移到 Isolate 2. 使用 compute 函数(简化 Isolate 操作)…

2025 年3月26日中国人民大学与加拿大女王大学金融硕士项目面试通知

【面试通知】中国人民大学与加拿大女王大学金融硕士 人大与加拿大女王大学金融硕士面试时间暂定于:2025 年3月26日 (面试人将依次单独面试,请提前到达,面试将准时开始) 人大与加拿大女王大学金融硕士面试地点&#x…

(C语言)编写一个函数实现n的k次方,使用递归实现(递归)

#include <stdio.h> int fun(int x,int y){if(y1){return x;}return fun(x,y-1)*x; } int main(){printf("请输入该数&#xff1a;\n");int a0;if(scanf("%d",&a)!1){printf("输入不合法\n");return 1;}printf("请输入倍数&#…

利用github部署项目

挂载GitHub Pages的方法 基本步骤 创建仓库&#xff1a; 在GitHub上创建一个新的仓库。如果使用自定义域名&#xff0c;则仓库名应为<username>.github.io&#xff1b;否则可以是任意名称。 启用GitHub Pages&#xff1a; 进入仓库的设置页面&#xff0c;在“Pages”部…

Linux find 命令完全指南

find 是 Linux 系统最强大的文件搜索工具&#xff0c;支持 嵌套遍历、条件筛选、执行动作。以下通过场景分类解析核心用法&#xff0c;涵盖高效搜索、文件管理及高级技巧&#xff1a; 一、基础搜索模式 1. 按文件名搜索&#xff08;精确/模糊匹配&#xff09; <BASH> f…