使用scipy处理图片——任意比例缩放

大纲

《使用numpy处理图片------缩放图片》一文中,我们每2个取1个像素来达到图像缩小的效果。这就要求缩小的比例只能是整数倍,而不能支持缩小到0.3倍或者放大到1.5倍这样的效果。

为了支持任意倍数的缩放功能,我们需要使用scipy的zoom方法。

先看下原图

python 复制代码
import numpy as np
from PIL import Image
import scipy.ndimage as ndimage

img = Image.open('lena.png')
data = np.array(img)

缩小

下面的代码是对第一、二轴都缩小到原来的0.3倍,而第三轴是颜色,不做任何变化。

python 复制代码
img03 = ndimage.zoom(data, zoom=(0.3, 0.3, 1))
Image.fromarray(img03).save('zoom03.png')

放大

下面的代码是对第一、二轴都放大到原来的1.5倍,而第三轴是颜色,不做任何变化。

python 复制代码
img15 = ndimage.zoom(data, zoom=(1.5, 1.5, 1))
Image.fromarray(img15).save('zoom15.png')

代码地址

https://github.com/f304646673/scipy-ndimage-example/tree/main/zoom

相关推荐
MoRanzhi12036 天前
SciPy傅里叶变换与信号处理教程:数学原理与Python实现
python·机器学习·数学建模·数据分析·信号处理·傅里叶分析·scipy
小幸福5208 天前
用Python实现自动化文章标题生成的最佳实践
scipy
万粉变现经纪人10 天前
如何解决 pip install -r requirements.txt 无效可编辑项 ‘e .‘(-e 拼写错误)问题
开发语言·python·r语言·beautifulsoup·pandas·pip·scipy
10岁的博客10 天前
PyCharm一键安装SciPy全攻略
ide·pycharm·scipy
胡耀超17 天前
音频降噪技术:从原理到工具的完整指南(scipy librosa noisereduce soundfile pedalboard)
音视频·音频·scipy·降噪·soundfile·noisereduce·pedalboard
万粉变现经纪人19 天前
如何解决 pip install 安装报错 ModuleNotFoundError: No module named ‘flax’ 问题
selenium·flask·beautifulsoup·numpy·scikit-learn·pip·scipy
MoRanzhi120321 天前
基于 SciPy 的矩阵运算与线性代数应用详解
人工智能·python·线性代数·算法·数学建模·矩阵·scipy
万粉变现经纪人1 个月前
如何解决pip安装报错ModuleNotFoundError: No module named ‘cuml’问题
python·scrapy·beautifulsoup·pandas·ai编程·pip·scipy
万粉变现经纪人1 个月前
如何解决pip安装报错ModuleNotFoundError: No module named ‘sympy’问题
python·beautifulsoup·pandas·scikit-learn·pyqt·pip·scipy
WSSWWWSSW2 个月前
SciPy科学计算与应用:SciPy信号处理入门-从理论到实践
信号处理·scipy