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

相关推荐
老歌老听老掉牙5 天前
差分进化算法深度解码:Scipy高效全局优化实战秘籍
python·算法·scipy
强化试剂19 天前
荧光标记利器 Alkyne-PEG-FITC;FITC-PEG-Alkyne:核心优势与行业价值
python·flask·pyqt·scipy
龙腾AI白云22 天前
10分钟了解向量数据库(3)
pandas·scipy
猫头虎24 天前
如何解决pip报错 import pandas as pd ModuleNotFoundError: No module named ‘pandas‘问题
java·python·scrapy·beautifulsoup·pandas·pip·scipy
拾贰_C1 个月前
【python | pytorch | scipy】scipy scikit-learn库相互依赖?
pytorch·python·scipy
拾贰_C1 个月前
【python | pytorch | warehouse】python库scipy与scikit-learn库不兼容?
pytorch·python·scipy
聊询QQ:688238861 个月前
COMSOL 实现变压器二维模型电磁 - 流 - 热耦合仿真
scipy
背心2块钱包邮2 个月前
第3节——differentiation rules(求导法则)
人工智能·python·matplotlib·scipy
咨询QQ688238862 个月前
自动泊车最优路径:MATLAB 与 RRT 算法及 Reeds 曲线的奇妙组合
scipy
猫头虎2 个月前
如何解决pip install网络报错SSLError: TLSV1_ALERT_PROTOCOL_VERSION(OpenSSL过旧)问题
网络·python·scrapy·pycharm·beautifulsoup·pip·scipy