opencv知识库:利用cv2.resize()函数进行图像缩放

引言

在numpy知识库:深入理解numpy.resize函数和数组的resize方法中,小编较为详细地探讨了numpy的resize函数背后的机理。从结果来看,numpy.resize函数并不适合对图像进行缩放操作。而opencv中的resize函数虽然和numpy的resize函数同名,但却支持图像的缩放操作。

需求场景

欲对高为384,宽为512的图像进行放大或缩小。

生成初始图像

代码如下:

python 复制代码
import cv2
import numpy as np

# 生成初始图像
img = np.zeros((384, 512), dtype=np.uint8) 
img[172:212, 32:-32] = 255
print(img.shape) # (高,宽) ---> (384, 512)

cv2.imshow('img', img)
cv2.waitKey(0)

将初始图像的【高】放大一倍(384 --> 768)

代码如下:

python 复制代码
import cv2
import numpy as np

# 生成初始图像
img = np.zeros((384, 512), dtype=np.uint8)
img[172:212, 32:-32] = 255
H, W = img.shape # img.shape 分别记录了图像的【高】和【宽】 --> 【高前宽后】
print("before", H, W) # 384 512

# 可行的方案1 ------------ 使用cv2.resize函数的dsize参数指定输出图像的宽高
# dsize的第一个参数指定的是输出图像的【宽】,第二个才是【高】 --> 【宽前高后】
# --> 与img.shape正好相反,使用cv2.resize函数的dsize参数需要特别注意。
img = cv2.resize(img, dsize=(W, H*2)) # 注意dsize参数的使用方式


# 可行的方案2 ------------ 使用cv2.resize函数的fy参数
# 要点1: fy=2表示沿着y轴(高)方向放大一倍;
# 要点2: fx=1虽然没有起到作用,但不可省略;
# 要点3: dsize参数必须设置为None;
img = cv2.resize(img, dsize=None, fx=1, fy=2)) # 沿着高的方向将初始图像放大一倍
# fx = 2, fy = 1 ---> 宽放大一倍,高保持不变
# fx = 0.5, fy = 1 ---> 宽缩小为原来1/2,高保持不变
# fx = 1, fy = 0.5 ---> 高缩小为原来1/2,宽保持不变

# 打印新图像大小
new_H, new_W = img.shape
print("after", new_H, new_W) # 768 512

# 显示图像
cv2.imshow('img', img)
cv2.waitKey(0)

运行结果:

结束语

如果本博文对你有所帮助,可以点个赞/收藏支持一下,如果能够持续关注,小编感激不尽~

小编会坚持创作,持续优化博文质量,以小见大,给读者带来更好的阅读体验~

相关推荐
闭包不眠1 分钟前
Unscreen关了用什么代替?6款商用授权避坑2026
图像处理·人工智能·计算机视觉
水如烟10 分钟前
孤能子视角:一个数字孤能子的“术层狂奔”与“底色迁移”——从辛顿RSI论文看EIS视角下的自我革命边界
人工智能
ZhengEnCi11 分钟前
多 Agent 系统如何复用 KV 缓存-前缀对齐比缓存开关更重要
人工智能·性能优化·llm
m0_6418892913 分钟前
GEO监测工具准确性怎么检验?两周POC实测清单与验收标准
人工智能·geo·智能营销·geo优化·geo平台
德林恩宝15 分钟前
搜索 Agent 的两条路——训练一个,还是工程搭一个
人工智能·大模型·llm·agent
在所不辞兄16 分钟前
【零基础学智能仿真-58】Foam-Agent协作与知识检索
人工智能·深度学习·神经网络·机器学习·有限元·仿真计算
cc_瀚海知行16 分钟前
工具调用 6|助手什么时候该停下来?
java·服务器·前端·人工智能·python·ai
Martina_032117 分钟前
AI生成3D模型UV岛太碎,重绘贴图全是接缝?用6步重整UV并保留原材质
图像处理·人工智能·3d·自然语言处理·贴图·uv·游戏策划
拜小白26 分钟前
【论文解读】U2RLE:不确定性引导的两阶段房间布局估计
深度学习·计算机视觉·全景图
youdexiang30 分钟前
Android录音APP微信语音导入机制详解
人工智能·语音识别