使用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

相关推荐
万粉变现经纪人1 天前
如何解决pip安装报错ModuleNotFoundError: No module named ‘cuml’问题
python·scrapy·beautifulsoup·pandas·ai编程·pip·scipy
万粉变现经纪人3 天前
如何解决pip安装报错ModuleNotFoundError: No module named ‘sympy’问题
python·beautifulsoup·pandas·scikit-learn·pyqt·pip·scipy
WSSWWWSSW18 天前
SciPy科学计算与应用:SciPy信号处理入门-从理论到实践
信号处理·scipy
猫头虎1 个月前
用 Python 写你的第一个爬虫:小白也能轻松搞定数据抓取(超详细包含最新所有Python爬虫库的教程)
爬虫·python·opencv·scrapy·beautifulsoup·numpy·scipy
万粉变现经纪人2 个月前
如何解决pip安装报错ModuleNotFoundError: No module named ‘tkinter’问题
python·beautifulsoup·pandas·pip·策略模式·httpx·scipy
超龄超能程序猿2 个月前
(5)机器学习小白入门 YOLOv:数据需求与图像不足应对策略
人工智能·python·机器学习·numpy·pandas·scipy
超龄超能程序猿2 个月前
使用 Python 对本地图片进行图像分类
开发语言·人工智能·python·机器学习·分类·数据挖掘·scipy
超龄超能程序猿2 个月前
(3)机器学习小白入门 YOLOv: 解锁图片分类新技能
python·numpy·pandas·scipy
北漂程序员学习5 个月前
如何避免被目标网站识别为爬虫?
爬虫·python·scrapy·flask·scipy
QQ_7781329746 个月前
《蓝耘容器全栈技术指南:企业级云原生与异构计算实战大全》
人工智能·scipy