使用SciPy进行常用的图像操作

来源:互联网 发布:无锡房价 知乎 编辑:程序博客网 时间:2024/05/29 11:42

SciPy provides some basic functions to work with images. For example, it has functions to read images from disk into numpy arrays, to write numpy arrays to disk as images, and to resize images. Here is a simple example that showcases these functions:

# coding:utf-8import numpy as npfrom scipy.misc import imread, imsave, imresize# Read an JPEG image into a numpy arrayimg = imread('cat.jpg')print(img.dtype, img.shape)  # Prints "uint8 (400, 248, 3)"print(type(np.array(img)))   # Prints "<class 'numpy.ndarray'>"# 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 diskimsave('cat_tinted.jpg', img_tinted)
原创粉丝点击