利用Python里的cv2(opencv)改变图片大小【同时也是cv2.resize的学习】

您所在的位置:网站首页 a6a5b6大小 利用Python里的cv2(opencv)改变图片大小【同时也是cv2.resize的学习】

利用Python里的cv2(opencv)改变图片大小【同时也是cv2.resize的学习】

2023-11-19 15:53| 来源: 网络整理| 查看: 265

目录 简介resize函数参数说明代码示例 参考文章链接

简介

opencv库当中的resize函数可以帮助我们快速进行图像的大小变化,在此我记录一下我的学习心得,并且提出自己的问题,希望大家可以参考和阅读。

resize函数

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

参数说明

src :源图像 dst :目标图像。当参数dsize不为0时,dst的大小为dsize的大小;否则,它的大小需要根据src的大小以及参数fx和fy决定。另外,dst的类型和src图像相同。 dsize :目标图像大小。当dsize为0时,它可以通过以下公式计算得出: 当dsize为0时,它可以通过以下公式计算得出: 请注意,参数dsize和参数(fx, fy)不能够同时为0 fx :水平轴上的比例因子。当它为0时,计算公式如下: 当fx为0时,计算公式如下: fy :垂直轴上的比例因子。当它为0时,计算公式如下: 当fy为0时,计算公式如下: interpolation :(说实话我感觉这几个差不多) Interpolation 方法:

INTER_NEAREST:最近邻插值法INTER_LINEAR:双线性插值法(默认)INTER_AREA:基于局部像素的重采样。对于图像抽取来说,这可能是一个更好的方法。但如果是放大图像时,它和最近邻法的效果类似。INTER_CUBIC:基于4x4像素邻域的3次插值法INTER_LANCZOS4:基于8x8像素邻域的Lanczos插值 代码示例

第一种(使用参数dsize)

import cv2 img = cv2.imread('image1.jpg') #读图 print(img.shape) #输出为(450,600,3)(高,宽,通道数) height,width = img.shape[:2] #获取原图像的水平方向尺寸和垂直方向尺寸。 res = cv2.resize(img,(width//2,height//2),interpolation=cv2.INTER_CUBIC) #dsize=(2*width,2*height) cv2.imshow('res',res) cv2.imwrite('output.jpg',res) #cv2.destroyWindow('res') #销毁指定窗口

第二种(使用参数fx,fy)

import cv2 img = cv2.imread('image1.jpg')#读图 height,width = img.shape[:2] #获取原图像的水平方向尺寸和垂直方向尺寸。 res = cv2.resize(img,None,fx=2,fy=2,interpolation=cv2.INTER_CUBIC) #比例因子:fx=2,fy=2 cv2.imshow('res',res) cv2.imwrite('output2.jpg',res) #cv2.destroyWindow('res') #销毁指定窗口

另:附上官方文档截图 cv2.resize官方文档截图

参考文章链接

1、opencv中的resize 函数 的理解以及引申 2、图像处理: 五种 插值法 3、cv2.resize官方文档



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3