使用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 天前
第 9 篇 · 数值计算与图像处理:NumPy、SciPy、Pillow
图像处理·python·数值计算·numpy·pillow·信号处理·scipy
TechEdu2026067 天前
[人工智能]Python12: SciPy 实战指南
人工智能·python·scipy
databook17 天前
使用 SciPy 库进行时间序列分析
python·数据分析·scipy
jzshmyt1 个月前
我用 Python 从零“生成“了一个宇宙,然后让它观察自己(v14)
人工智能·pytorch·python·numpy·matplotlib·空间计算·scipy
WiKiLeaks_successor1 个月前
Scipy库里的众数函数不严谨,我把它重构了。
python·scipy
TechEdu2026062 个月前
[人工智能]SciPy在工程计算中的作用与实践
人工智能·ai·scipy
爱喝热水的呀哈喽6 个月前
5步创建一个有不同numpy scipy版本的python环境
python·numpy·scipy
2501_921960856 个月前
协同本体论:元公理体系、普适演化律则与工程范式统一构建
python·重构·numpy·pandas·scipy
七颗糖很甜6 个月前
python实现全国雷达拼图数据的SCIT风暴识别
python·算法·scipy
MoRanzhi12037 个月前
一维概率分布可视化实践:基于 Python 的理论曲线与样本图对照
python·概率论·matplotlib·seaborn·scipy·统计学·概率分布可视化