python+opencv:定义放缩图像尺寸的三种方法:元组,源图像,系数

# usr/bin/env python
# coding: utf-8

# 2018年6月15日23:29:13
# 2018年6月16日10:16:49
# python_5

import cv2
import numpy as np

img = cv2.imread('cat.jpg')

# 对图像进行放缩

# 第一种方法:直接指定使用元组指定新图像的尺寸
resImg1 = cv2.resize(img, (300,300), interpolation=cv2.INTER_CUBIC)
# resize函数的输入:
# 源图像,img
# (300,300)是变换后的图片大小,分别是图片宽和高。注意用元组的形式
# 变换的算法,interpolation就是表示插补的意思,因为变换不同的尺寸就会增减像素
# ITER_CUBIC是一种方法,还有很多其他方法,我们暂时不了解

# 第二种方法:使用源图像的shape进行变换
resImg2 = cv2.resize(img,(img.shape[1],img.shape[0]), interpolation=cv2.INTER_CUBIC)
# 除了直接指定图像变换后的尺寸,也可以直接使用某图像的尺寸,这里使用源图像的尺寸
# 这里注意到用shape读取的尺寸有些不同


# 第三种方法:使用系数进行变换
img1 = cv2.resize(img, None, fx=0.1,fy=0.5,interpolation=cv2.INTER_CUBIC)
# 除了直接指定图像的尺寸,还可以用线性系数来变换。
# fx表示对坐标系中的x轴变换的系数,为水平方向,也就是我们理解的长。
# fy表示宽的系数。当系数大于1时,表示放大,小于1时表示缩小。


cv2.imshow('img', img)
cv2.imshow('resImg', resImg1)
cv2.imshow('resImg2', resImg2)
cv2.imshow('img1', img1)
cv2.waitKey()

cv2.destroyAllWindows()
# 依然提醒:记得使用这个来销毁窗口,释放内存



猜你喜欢

转载自blog.csdn.net/qq_27261889/article/details/80712777