更新於 2024/09/26閱讀時間約 1 分鐘

[Python ]多張圖像合併成一個 TIFF 檔案

OpenCV 支援讀取和保存 TIFF(Tagged Image File Format)檔案,但對於合併多張圖片成為多頁的 TIFF 檔案,OpenCV 沒有的這功能

可以使用 Pillow 庫(Python Imaging Library, PIL 的分支)來實現。Pillow 支援 TIFF 檔案格式,並允許將多張圖像合併成一個多頁的 TIFF 文件。


要合併圖檔庫

合併圖像成 TIFF 程式範例:

from PIL import Image
import os

def merge_images_to_tiff(image_folder, output_file):
# 取得所有的圖片文件
image_files = [f for f in os.listdir(image_folder) if f.lower().endswith(('.png', '.jpg', '.jpeg', '.bmp'))]
image_files.sort() # 排序(可選)

# 加載第一張圖像作為基礎圖像
base_image = Image.open(os.path.join(image_folder, image_files[0]))

# 加載其餘圖像
image_list = [Image.open(os.path.join(image_folder, img)) for img in image_files[1:]]

# 合併圖像成多頁的 TIFF 文件
base_image.save(output_file, save_all=True, append_images=image_list, compression="tiff_deflate")

# 使用範例
image_folder = 'path_to_image_folder' # 圖片文件夾路徑
output_file = 'output.tiff' # 輸出 TIFF 檔案的名稱
merge_images_to_tiff(image_folder, output_file)

說明:

  1. image_folder:指定存放圖片的文件夾路徑。
  2. output_file:輸出的 TIFF 文件的名稱。
  3. base_image.save()
    • save_all=True 表示將所有圖像保存為 TIFF 的多頁。
    • append_images=image_list 是一個包含其餘圖像的列表,用於追加到第一張圖像後。
    • compression="tiff_deflate" 表示使用 TIFF 壓縮(可選)。



分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.