使用 Scipy 进行图像处理(基本图像调整大小)

SciPy 提供基本的图像处理功能。这些功能包括将图像从磁盘读取到 numpy 数组,将 numpy 数组作为图像写入磁盘以及调整图像大小的功能。

在以下代码中,仅使用一个图像。它被着色,调整大小并保存。原始图像和生成的图像如下所示:

import numpy as np  //scipy is numpy-dependent

from scipy.misc import imread, imsave, imresize   //image resizing functions

# Read an JPEG image into a numpy array
img = imread('assets/cat.jpg')
print img.dtype, img.shape  # Prints "uint8 (400, 248, 3)"

# We can tint the image by scaling each of the color channels
# by a different scalar constant. The image has shape (400, 248, 3);
# we multiply it by the array [1, 0.95, 0.9] of shape (3,);
# numpy broadcasting means that this leaves the red channel unchanged,
# and multiplies the green and blue channels by 0.95 and 0.9
# respectively.
img_tinted = img * [1, 0.95, 0.9]

# Resize the tinted image to be 300 by 300 pixels.
img_tinted = imresize(img_tinted, (300, 300))

# Write the tinted image back to disk
imsave('assets/cat_tinted.jpg', img_tinted)

https://i.stack.imgur.com/K16nx.jpg https://i.stack.imgur.com/RP5UX.jpg

参考