OpenCV 支援讀取和保存 TIFF(Tagged Image File Format)檔案,但對於合併多張圖片成為多頁的 TIFF 檔案,OpenCV 沒有的這功能。
可以使用 Pillow
庫(Python Imaging Library, PIL 的分支)來實現。Pillow
支援 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)
image_folder
:指定存放圖片的文件夾路徑。output_file
:輸出的 TIFF 文件的名稱。base_image.save()
: