python将图像进行缩放的demo
Posted 道亦无名
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python将图像进行缩放的demo相关的知识,希望对你有一定的参考价值。
准备好一张图片进行处理
from PIL import Image, ImageOps
import matplotlib.pyplot as plt
import numpy as np
import cv2
img = cv2.imread('test.png')
#注意cv2读取图片数据是 bgr格式,若要变为rgb格式需要使用cv2.cvtColor()方法
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
#注意img为numpy.ndarray图片数据,需用如下方法转化为PIL所需数据类型
img = Image.fromarray(img)
h, w = img.size
print('img_size:', h, w)
target_size = (400, 200)
#将图片缩放到目标大小,不改变原数据,需将得到结果赋值给新变量
new_image = img.resize(target_size)
new_h, new_w = new_image.size
print('new_img_size:', new_h, new_w)
fig = plt.figure(figsize=(10,10))
#原图片
#add_subplot()前面两个参数表示将fig划分为几乘几的网格,每个网格中可以放一张图片,最后一个数字表示放在第几个网格中,亦可写为:211
a = fig.add_subplot(2,1,1)
plt.imshow(img)
a.set_title('Before')
#缩放后的图片
a = fig.add_subplot(2,1,2)
plt.imshow(new_image)
a.set_title('After')
plt.show()
执行效果如下:
以上是关于python将图像进行缩放的demo的主要内容,如果未能解决你的问题,请参考以下文章
用最近邻插值(Nearest Neighbor interpolation)进行图片缩放