scipy模块_misc模块,imread,imresize, imsave / imshow/ imrotate

#导入scipy模块下的图像处理函数
from scipy.misc import 
imread / imsave / imshow  #读取图像,保存,显示
imresize / imrotate / imfilter #改变图像的大小,翻转图像,过滤

1.scipy.misc 下的图像处理



from scipy.misc import imread, imresize, imsave I = imread('./cat.jpg') I_tinted = I * (1, .95, .9) I_tinted = imresize(I_tinted, (300, 300)) # print(I_tinted.shape) imsave('./figs/cat_tinted.jpg', I_tinted)

imread():# 返回的是 numpy.ndarray 也即 numpy 下的多维数组对象;
I_tinted = imresize(I_tinted, (300, 300)),# 经过 imresize 操作得到的 I_tinted 仍然是 3 维的彩色信息(I_tinted.shape ⇒ (300, 300, 3));
若想显示图像,则一般使用 matplotlib 下的 相关函数:

import matplotlib.pyplot as plt
plt.subplot(1, 2, 1) #1行2列,第一个子图
plt.imshow(I)  #title I
plt.subplot(1, 2, 2)
plt.imshow(I_tinted)
plt.axis('off') 
plt.show()

2. scipy.ndimage

scipy的ndimage模块包含很多对图像的处理,比如滤波处理,加和,闭合,腐蚀膨胀运算等。详见另外一篇博客

from scipy.ndimage import uniform_filter:均值滤波;
关于 scipy 填充 mode 参数的选择的讨论,见 Sign up
How exactly does the “reflect” mode for scipys ndimage filters work?

3.matplotlib 下的图像处理

改变颜色空间:matplotlib.colors.rgb_to_hsv
注意接收的参数必须在 [0, 1] 区间内;
返回值也是 [0, 1] 区间内;

你可能感兴趣的:(python-learning,数字图像处理)