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

图像缩放

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


导入模块

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 cv2

img=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 | 标志, 逆变换 例如,linearPolar 或 logPolar 变换: * flag 未设置:dst(ρ,φ)=src(x,y) * flag 的dst(x,y)=src(ρ,φ) |
| WARP_RELATIVE_MAP Python:cv.WARP_RELATIVE_MAP |

相关推荐
老牛日常随笔8 分钟前
微软开源Flint Chart:AI画图表总是画不对?让编译器来画,AI只写数据就行
人工智能·microsoft
jimmyleeee8 分钟前
Agent安全之六:(ASI06)记忆与上下文投毒——当 AI 把“昨天的错误”当成“今天的真理”
网络·人工智能·安全
deepseek2310 分钟前
Claude Code 2.1.314 新增工作目录写入边界:工具权限、沙箱与安全盲区怎么分层
人工智能·ai agent·claude code
Yolanda_202211 分钟前
week3深度学习处理文本(上)
人工智能·深度学习
Smoothcloud润云14 分钟前
GPU算力平台推荐:复现实验时,如何判断租用资源是否合适?
服务器·人工智能·深度学习·gpu算力·gpu
yz_aiks16 分钟前
WorkBuddy 使用技巧:Claude Code 国内平替,签到免费用、自动签到和手机远程控制电脑
人工智能·ai编程·效率工具·claude code·workbuddy
锋行天下31 分钟前
DeepSeek写Langgraph就是个大傻逼,一本正经胡说八道
前端·人工智能·后端
Patrick在香港40 分钟前
一个斜杠,把毫秒变成十几秒
android·数据库·python·性能优化·正则表达式·回溯·redos
2601_967980111 小时前
Python 初学者必备的常用内置函数
python·编程语言·内置函数·初学者·常用函数
沃达德软件1 小时前
智慧无人机图像识别分析技术
人工智能·目标检测·计算机视觉·目标跟踪·视觉检测·无人机