Python OpenCV之图片缩放的实现(cv2.resize)

yipeiwu_com6年前Python基础

OpenCV函数原型:

cv2.resize(InputArray src, OutputArray dst, Size, fx, fy, interpolation)

参数解释:

InputArray src 输入图片
OutputArray dst 输出图片
Size 输出图片尺寸
fx, fy 沿x轴,y轴的缩放系数
interpolation 插入方式

interpolation 选项所用的插值方法:

INTER_NEAREST

最近邻插值

INTER_LINEAR

双线性插值(默认设置)

INTER_AREA

使用像素区域关系进行重采样。

INTER_CUBIC

4x4像素邻域的双三次插值

INTER_LANCZOS4

8x8像素邻域的Lanczos插值

注意:

1.输出尺寸格式为(宽,高)

2.默认的插值方法为:双线性插值

代码演示:

import cv2 as cv
 
# 读入原图片
img = cv.imread('test.jpg')
# 打印出图片尺寸
print(img.shape)
# 将图片高和宽分别赋值给x,y
x, y = img.shape[0:2]
 
# 显示原图
cv.imshow('OriginalPicture', img)
 
# 缩放到原来的二分之一,输出尺寸格式为(宽,高)
img_test1 = cv.resize(img, (int(y / 2), int(x / 2)))
cv.imshow('resize0', img_test1)
cv.waitKey()
 
# 最近邻插值法缩放
# 缩放到原来的四分之一
img_test2 = cv.resize(img, (0, 0), fx=0.25, fy=0.25, interpolation=cv.INTER_NEAREST)
cv.imshow('resize1', img_test2)
cv.waitKey()
cv.destroyAllWindows()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python集合常见运算案例解析

本文实例讲述了python集合常见运算。分享给大家供大家参考,具体如下: python生成不重复随机数放在列表中的效率比较 import random import time def...

python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)

python实现鸢尾花三种聚类算法(K-means,AGNES,DBScan)

一.分散性聚类(kmeans) 算法流程: 1.选择聚类的个数k. 2.任意产生k个聚类,然后确定聚类中心,或者直接生成k个中心。 3.对每个点确定其聚类中心点。 4.再计算其聚类新中心...

python判断一个对象是否可迭代的例子

如何判断一个对象是可迭代对象? 方法是通过collections模块的Iterable类型判断: >>> from collections import Iter...

Sanic框架请求与响应实例分析

本文实例讲述了Sanic框架请求与响应。分享给大家供大家参考,具体如下: 前面介绍了Sanic框架的路由,这里接着介绍Sanic框架的请求与响应。 简介 Sanic是一个类似Flask的...

python用字典统计单词或汉字词个数示例

有如下格式的文本文件复制代码 代码如下:/“/请/!/”/“/请/!/”/两名/剑士/各自/倒转/剑尖/,/右手/握/剑柄/,/左手/搭于/右手/手背/,/躬身行礼/。/两/人/身子/尚...