scipy笔记—scipy.misc.imresize用法(方便训练图像数据)

scipy.misc.imresize

不同于普通的reshape, imresize不是单纯的改变图像矩阵的维度,而是能将图片重采样为指定像素,这样给深度学习中训练图像数据带来方便。
import numpy as np
import matplotlib.pyplot as plt
import h5py
import scipy
from PIL import Image
from scipy import ndimage

%matplotlib inline

num_px = 64

my_image = "my_image4.jpg"   # 修改你图像的名字

fname = "images/" + my_image                              # 图片位置     
image = np.array(ndimage.imread(fname, flatten=False))    # 读入图片为矩阵

plt.imshow(image)

# my_image = scipy.misc.imresize(image, size=(num_px, num_px)).reshape((1, num_px * num_px * 3)).T  # 转置图片为 (num_px*num_px*3, 1)向量

# 重新设置图像像素 
my_image = scipy.misc.imresize(image, size=(num_px, num_px))

plt.imshow(my_image)

2020.6.3日修改============================================================

这个函数在新版本的scipy中不能用了,改成

import imageio
from skimage.transform import resize

## START CODE HERE ## (PUT YOUR IMAGE NAME) 
my_image = "my_image4.jpg"   # 修改你图像的名字
## END CODE HERE ##

# We preprocess the image to fit your algorithm.
fname = "images/" + my_image                              # 图片位置     
image = np.array(imageio.imread(fname))                   # 读入图片为矩阵, 这里用原版本的会出错,scipy的那个函数被删了
print(image.shape)

# 转置图片为 (num_px*num_px*3, 1)向量
my_image = resize(image, output_shape=(num_px, num_px)).reshape((1, num_px * num_px * 3)).T
print(my_image)

 

posted @ 2019-01-17 00:38  douzujun  阅读(9921)  评论(0编辑  收藏  举报