OpenCV: 图像缩放(cv2.resize)【一分钟弄清楚】
创始人
2024-12-26 08:09:56
0

OpenCV: 图像缩放(cv2.resize)【一分钟弄清楚】

在这里插入图片描述

🌈 个人主页:高斯小哥
🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 👈 希望得到您的订阅和支持~
💡 创作高质量博文,分享更多关于深度学习、PyTorch、Python领域的优质内容!(希望得到您的关注~)


🌵文章目录🌵

  • 一、cv2.resize()函数简介
    • 示例代码
    • 注意事项
  • 二、cv2.resize()函数实战
    • 需求场景
    • 生成初始图像
    • 将初始图像的【高】放大一倍(384 --> 768)
  • 三、最后 🤝

  在图像处理和计算机视觉应用中,图像缩放是一个常见的操作。OpenCV库中的cv2.resize()函数是一个非常实用的工具,可以轻松地实现这一功能。本文将为你介绍如何使用cv2.resize()来缩放图像,让你在一分钟内掌握这个技能!


一、cv2.resize()函数简介

cv2.resize()函数用于调整图像的尺寸。它的基本语法如下:

cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) 

参数说明:

  • src: 输入图像。
  • dsize: 输出图像的尺寸,可以是一个单元素的元组(仅指定宽度),或者两个元素的元组(宽度和高度)。
  • fxfy: 缩放因子,分别表示宽度和高度的缩放比例。如果未指定,则使用dsize参数。
  • interpolation: 插值方法,用于确定像素值。常用的插值方法有cv2.INTER_LINEAR(线性插值)、cv2.INTER_NEAREST(最近邻插值)等。

示例代码

下面是一个简单的示例,展示如何使用cv2.resize()函数将图像缩小为原尺寸的一半:

import cv2  # 读取图像 img = cv2.imread('input.jpg')  # 缩小图像尺寸为原尺寸的一半 height, width = img.shape[:2] new_size = (width // 2, height // 2) resized_img = cv2.resize(img, new_size, interpolation=cv2.INTER_LINEAR)  # 显示原图和缩放后的图像 cv2.imshow('Original Image', img) cv2.imshow('Resized Image', resized_img) cv2.waitKey(0) cv2.destroyAllWindows() 

注意事项

在使用cv2.resize()函数时,需要注意以下几点:

  1. 确保输入图像是有效的,并且尺寸与期望的输出尺寸相匹配。否则,可能会导致错误或不可预测的结果。
  2. 根据需要选择合适的插值方法。不同的插值方法可能会对结果产生影响,特别是在放大图像时。
  3. 确保安装了正确版本的OpenCV库。不同版本的OpenCV可能在函数使用和参数上略有差异。

二、cv2.resize()函数实战

需求场景

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

生成初始图像


代码如下:

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) 

运行结果如下:

在这里插入图片描述

图1 运行结果

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


代码如下:

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) 

运行结果如下:
在这里插入图片描述

在这里插入图片描述

图2 运行结果


三、最后 🤝

  亲爱的读者,感谢您每一次停留和阅读,这是对我们最大的支持和鼓励!🙏在茫茫网海中,您的关注让我们深感荣幸。您的独到见解和建议,如明灯照亮我们前行的道路。🌟若在阅读中有所收获,一个赞或收藏,对我们意义重大。

  我们承诺,会不断自我挑战,为您呈现更精彩的内容。📚有任何疑问或建议,欢迎在评论区畅所欲言,我们时刻倾听。💬让我们携手在知识的海洋中航行,共同成长,共创辉煌!🌱🌳感谢您的厚爱与支持,期待与您共同书写精彩篇章!

  您的点赞👍、收藏🌟、评论💬和关注💖,是我们前行的最大动力!

  🎉 感谢阅读,祝你编程愉快! 🎉

相关内容

热门资讯

重大通报,金花房卡如何购买西游... 西游联盟房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根...
IA解析/牛牛房卡官网皇豪互娱... 皇豪互娱是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
正版授权!牛牛充值房卡超游联盟... 您好!微信超游联盟大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(超游联盟)大厅介绍:...
头条推荐!金花微信链接市场价格... 头条推荐!金花微信链接市场价格表九酷大厅/随意玩/房卡是在哪里买的九酷大厅/随意玩是一款非常受欢迎的...
科技实测!微信金花房卡怎么弄海... 微信游戏中心:海贝之城房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...
正规平台有哪些,牛牛房卡制作链... 豌豆互娱是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
正规平台有哪些,牛牛房卡代理海... 您好!微信海航大厅大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(海航大厅)大厅介绍:...
我来教你/如何购买金花房卡神盾... 微信游戏中心:神盾大厅/新天道房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或...
我来教你/斗牛房卡充值新天道/... 今 日消息,新天道/皇豪互娱房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更...
玩家攻略,金花房卡批发价卡丁互... 玩家攻略,金花房卡批发价卡丁互娱/正规房卡找谁买卡丁互娱是一款非常受欢迎的游戏,咨询房/卡添加微信:...
IA解析/牛牛房卡游戏代理海米... 微信游戏中心:海米大厅房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...
玩家攻略,怎么买斗牛房卡朱雀大... 微信游戏中心:朱雀大厅房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...
推荐一款!牛牛房卡制作链接海星... 海星大厅房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根...
头条推荐!金花房卡如何购买超游... 头条推荐!金花房卡如何购买超游联盟/房卡购买房间怎么开超游联盟是一款非常受欢迎的游戏,咨询房/卡添加...
我来教你/如何购买金花房卡老神... 微信游戏中心:老神兽/皇豪互众房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或...
正版授权!牛牛房卡出售海豚大厅... 正版授权!牛牛房卡出售海豚大厅/房卡购买房间怎么开Sa9Ix苹果iPhone 17手机即将进入量产阶...
重大通报,如何购买金花房卡龙马... 您好!微信龙马大厅大厅链接获取房卡可以通过以下几种方式购买: 1.微信渠道:(龙马大厅)大厅介绍:...
科技实测!金花房卡官网烛龙大厅... 烛龙大厅/新道游房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 ...
我来教你/金花微信链接市场价格... 我来教你/金花微信链接市场价格表天酷大厅/房卡在哪里购买天酷大厅是一款非常受欢迎的游戏,咨询房/卡添...
ia实测“金花房卡从哪里购买/... 皇豪互娱是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:86909166许多玩家在游戏中会购买房卡来...