python图片按照比例缩放

在Python中,你可以使用多种库来按照比例缩放图片。其中,PIL(Python Imaging Library)的分支Pillow是一个非常流行和强大的图像处理库。以下是一个使用Pillow库按照比例缩放图片的示例:

  1. 安装Pillow库

    如果还没有安装Pillow,你可以使用以下命令进行安装:

    bash 复制代码
    pip install pillow
  2. 编写Python代码进行图片缩放

    下面是一个示例代码,用于读取图片并按照指定比例进行缩放:

    python 复制代码
    from PIL import Image
    
    def resize_image(input_path, output_path, scale_factor):
        """
        按照比例缩放图片
    
        :param input_path: 输入图片路径
        :param output_path: 输出图片路径
        :param scale_factor: 缩放比例因子 (例如,0.5 表示缩小到原来的50%)
        """
        with Image.open(input_path) as img:
            # 获取原始尺寸
            width, height = img.size
            # 计算新的尺寸
            new_width = int(width * scale_factor)
            new_height = int(height * scale_factor)
            # 缩放图片
            resized_img = img.resize((new_width, new_height), Image.ANTIALIAS)
            # 保存缩放后的图片
            resized_img.save(output_path)
            print(f"图片已保存到 {output_path}")
    
    # 示例使用
    input_image_path = 'input.jpg'  # 输入图片路径
    output_image_path = 'output.jpg'  # 输出图片路径
    scale = 0.5  # 缩放比例因子
    
    resize_image(input_image_path, output_image_path, scale)

在这个示例中:

  • input_path 是输入图片的路径。
  • output_path 是缩放后图片要保存的路径。
  • scale_factor 是缩放比例因子,比如0.5表示缩小到原来的50%,2表示放大到原来的200%。

Image.ANTIALIAS 是一种高质量的重采样滤波器,用于在缩放图片时保持较好的图像质量。你也可以根据需要选择其他滤波器,比如 Image.NEARESTImage.BILINEARImage.BICUBIC 等。

这个代码段将读取指定的输入图片,按照给定的比例因子进行缩放,并将结果保存到指定的输出路径。

相关推荐
lly2024064 分钟前
C 标准库 - `<stdio.h>`
开发语言
沫璃染墨6 分钟前
C++ string 从入门到精通:构造、迭代器、容量接口全解析
c语言·开发语言·c++
jwn9997 分钟前
Laravel6.x核心特性全解析
开发语言·php·laravel
迷藏4949 分钟前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
功德+n38 分钟前
Linux下安装与配置Docker完整详细步骤
linux·运维·服务器·开发语言·docker·centos
明日清晨40 分钟前
python扫码登录dy
开发语言·python
我是唐青枫1 小时前
C#.NET gRPC 深入解析:Proto 定义、流式调用与服务间通信取舍
开发语言·c#·.net
JJay.1 小时前
Kotlin 高阶函数学习指南
android·开发语言·kotlin
bazhange1 小时前
python如何像matlab一样使用向量化替代for循环
开发语言·python·matlab
jinanwuhuaguo1 小时前
截止到4月8日,OpenClaw 2026年4月更新深度解读剖析:从“能力回归”到“信任内建”的范式跃迁
android·开发语言·人工智能·深度学习·kotlin