Python实现TIFF文件向PNG与JPG格式的转换实战

在日常的图像处理工作中,可能会遇到需要将 TIFF 格式的图像转换为其他格式的情况,例如 PNG 和 JPG。下面,本文将介绍如何使用 Python 和 GDAL 库实现这一功能。

准备工作

在开始之前,请确保已经安装了必要的库:

  • GDAL(Geospatial Data Abstraction Library)
  • 可以使用以下命令安装 GDAL:

    pip install gdal
    

    代码实现

    以下是一个将 TIFF 文件转换为 PNG 文件的示例代码:

    import os
    from osgeo import gdal
    
    file_folder = 'val/images_tif' # 储存tif格式的文件夹
    output_folder = 'val/images_png'  # 储存png格式的文件夹
    
    # 如果输出文件夹不存在,则创建它
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
    
    for file_name in os.listdir(file_folder):
        file_path = os.path.join(file_folder, file_name)
        print(file_path)
    
        # 检查是否为 TIFF 文件
        if file_path.endswith('.tif'):
            ds = gdal.Open(file_path)
            if ds is None:
                print(f"Failed to open {file_path}")
                continue
    
            driver = gdal.GetDriverByName('PNG')
            # driver = gdal.GetDriverByName('JPEG')  # 使用JPEG驱动
            # 创建输出文件的路径
            output_file_path = os.path.join(output_folder, file_name.replace('.tif', '.png'))
            # output_file_path = os.path.join(output_folder, file_name.replace('.tif', '.jpg'))
            dst_ds = driver.CreateCopy(output_file_path, ds)
            del dst_ds  # 释放资源
    
    转换为 JPG 格式

    如果需要将 TIFF 文件转换为 JPG 格式,只需将代码中的 PNG 替换为 JPEG 并修改输出文件的扩展名:

    driver = gdal.GetDriverByName('JPEG')
    output_file_path = os.path.join(output_folder, file_name.replace('.tif', '.jpg'))
    

    作者:sand&wich

    物联沃分享整理
    物联沃-IOTWORD物联网 » Python实现TIFF文件向PNG与JPG格式的转换实战

    发表回复