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 等。

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

相关推荐
程序员_三木8 分钟前
Three.js入门-Raycaster鼠标拾取详解与应用
开发语言·javascript·计算机外设·webgl·three.js
冰蓝蓝9 分钟前
深度学习中的注意力机制:解锁智能模型的新视角
人工智能·深度学习
是小崔啊17 分钟前
开源轮子 - EasyExcel01(核心api)
java·开发语言·开源·excel·阿里巴巴
tianmu_sama23 分钟前
[Effective C++]条款38-39 复合和private继承
开发语言·c++
黄公子学安全26 分钟前
Java的基础概念(一)
java·开发语言·python
liwulin050627 分钟前
【JAVA】Tesseract-OCR截图屏幕指定区域识别0.4.2
java·开发语言·ocr
jackiendsc32 分钟前
Java的垃圾回收机制介绍、工作原理、算法及分析调优
java·开发语言·算法
Oneforlove_twoforjob36 分钟前
【Java基础面试题027】Java的StringBuilder是怎么实现的?
java·开发语言
羚羊角uou39 分钟前
【C++】优先级队列以及仿函数
开发语言·c++
FeboReigns44 分钟前
C++简明教程(文章要求学过一点C语言)(1)
c语言·开发语言·c++