首页 > 编程知识 正文

pythonopencv中文教程,opencv修改图像分辨率

时间:2023-05-03 09:09:29 阅读:15716 作者:4786

更改图像大小意味着分别更改高度和/或宽度。 也可以按比例调整图像的尺寸。

以下是resize ()函数的语法和示例。

语法

函数原型

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

参数:

参数

说明

src

【必须】原图像

dsize

【必须】图像输出所需的尺寸

福克斯

【可选件】沿水平轴的比例因子

fy

【可选件】沿垂直轴的比例因子

国际

【选购件】插补方式

【选购件】插补方式

其中有各种各样的插值方式。

cv.INTER_NEAREST

最近邻插值

cv.INTER_LINEAR

双线性插值

cv.INTER_CUBIC

双线性插值

cv.INTER_AREA

使用像素区域关系重新采样。 获得无zxdlz条纹的结果,可能是图像提取的最佳方法。 但是,当图像缩放时,它类似于INTER_NEAREST方法。

通常,收缩使用cv.INTER_AREA,收缩使用cv.INTER_CUBIC (慢)、cv.INTER_LINEAR (快) ),效果也很好。 缺省情况下,所有缩进都使用cv.INTER_LINEAR。

范例

保持mldfk比

以下是在此基础上进行实验的尺寸(149,200,4 ) )、高度、宽度、通道数)的原始图像。

导入cv2

img=cv2.im read ('./pictures/python.png ',cv2.IMREAD_UNCHANGED )。

打印(原始维度: ),img.shape ) ) ) ) )。

sale _ percent=60 # percentoforiginalsize

idth=int (img.shape [1] * scale _ percent/100 ) ) ) ) )

height=int (img.shape [0] * scale _ percent/100 ) ) ) ) ) ) ) ) )。

dim=(width,height ) ) ) ) )。

#重置图像

resized=cv2.resize(img,dim,interpolation=cv2.INTER_AREA ) )。

打印(精简维: ),精简.形状) ) ) ) ) )。

CV2.imshow(resizedimage )、resized ) )。

cv2 .等待密钥(0) () ) ) ) ) ) ) ) ) ) ) )。

cv2.destroyAllWindows (

结果:

原始维度3360 (149,200,4 )。

精简维度3360 (89,120,4 )。

调整scale_percent可以放大或缩小。 必须从高度到宽度准备形状。 参数从宽到高。

另一种方式是使用附带的参数fx和fy,会更方便。

导入cv2

img=cv2.im read './pictures/python.png ' )

打印(原始维度: ),img.shape ) ) ) ) )。

resized=cv2.resize(img,None,fx=0.6,fy=0.6,interpolation=cv2.INTER_AREA ) )。

打印(精简维: ),精简.形状) ) ) ) ) )。

CV2.imshow(resized_img ),resized ) )。

cv2 .等待密钥(0) () ) ) ) ) ) ) ) ) ) )。

不保持mldfk比

例如,改变宽度,不改变高度:

导入cv2

img=cv2.im read './pictures/python.png ' )

打印(原始维度: (,img.shape ) ) )。

width=440

height=img.shape [0] # keeporiginalheight

dim=(width,height ) ) ) ) )。

#重置图像

resized=cv2.resize(img,dim,interpolation=cv2.INTER_AREA ) )。

打印(精简维: ),精简.形状) ) ) ) ) )。

CV2.imshow(resizedimage )、resized ) )。

cv2 .等待密钥(0) () ) ) ) ) ) ) ) ) ) )。

cv2.destroyAllWindows (

结果:

原始维度3360 (149,200,4 )。

精简维度3360 (149,440,4 )。

指定高度和宽度

给出高度和宽度的图像数值。

导入cv2

img=cv2.im read './pictures/python.png ' )

打印(原始维度: (,img.shape ) ) )。

width=350

height=450

dim=(width,height ) ) ) ) )。

#重置图像

resized=cv2.resize(img,dim,interpolation=cv2.INTER_AREA ) )。

打印(精简维: ),精简.形状) ) ) ) ) )。

CV2.imshow(resizedimage )、resized ) )。

cv2 .等待密钥(0) () ) ) ) ) ) ) ) ) ) ) )。

cv2.destroyAllWindows (

结果:

原始维度3360 (149,200,4 )。

精简维度3360 (450,350,4 )。

希望以上是正文的全部内容,对大家的学习有帮助。 另外,我希望你多支持我找教程网。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。