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'))

你可能感兴趣的:(python,开发语言)