首页 > 编程知识 正文

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

时间:2023-05-04 17:47:03 阅读:15706 作者:4257

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

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

语法

函数原型

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

参数:

参数

说明

src

【必须】原图像

dsize

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

福克斯

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

fy

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

国际

【选购件】插补方式

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

cv.INTER_NEAREST

最近邻插值

cv.INTER_LINEAR

双线性插值

cv.INTER_CUBIC

双线性插值

cv.INTER_AREA

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

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

范例

保持mldnp比

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

importcv2

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

sale _ percent=60 # percentoforiginalsize

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

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

dim=(width,height ) #resize image

resized=cv2.resize(img,dim,interpolation=cv2.INTER_AREA ) print('resizeddimensions3360 ',resized.shape

CV2.imshow(resizedimage )、resized ) )。

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

cv2.destroyAllWindows (

结果:

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

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

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

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

importcv2

img=cv2.im read ((./pictures/python.png ) )、originaldimensions: )、img.shape ) )。

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

CV2.imshow(resized_img ),resized ) )。

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

不保存mldnp比

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

importcv2

img=cv2.im read ((./pictures/python.png ) )、originaldimensions: )、img.shape ) )。

idth=440 height=img.shape [0] # keeporiginalheight

dim=(width,height ) #resize image

resized=cv2.resize(img,dim,interpolation=cv2.INTER_AREA ) print('resizeddimensions3360 ',resized.shape

CV2.imshow(resizedimage )、resized ) )。

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

cv2.destroyAllWindows (

结果:

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

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

指定高度和宽度

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

importcv2

img=cv2.im read ((./pictures/python.png ) )、originaldimensions: )、img.shape ) )。

width=350height=450dim=(width,height ) #resize image

resized=cv2.resize(img,dim,interpolation=cv2.INTER_AREA ) print('resizeddimensions3360 ',resized.shape

CV2.imshow(resizedimage )、resized ) )。

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

cv2.destroyAllWindows (

结果:

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

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

参考链接:

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