Python Pillow - 合併影像



Pillow (PIL) 庫用於合併或組合影像的單個波段以建立新的多波段影像。它在處理多光譜或多通道影像(例如 RGB 或 CMYK 影像)時特別有用,並且我們希望透過合併特定波段來建立新影像。

在 Pillow 中,我們有 `merge()` 方法,它屬於 `Image` 模組,用於合併給定的輸入影像。

此方法對於組合衛星或醫學影像的多個通道、建立自定義彩色影像或處理需要組合成單個影像的單獨通道的影像等任務非常有用。

以下是 `Image.merge()` 方法的語法和用法:

Image.merge(mode, bands)

其中:

  • **mode** - 此引數指定新多波段影像的模式。它應該與我們想要合併的各個波段的模式匹配。常見的模式包括用於彩色影像的“RGB”、用於具有 alpha 通道的影像的“RGBA”以及用於青色、品紅色、黃色和黑色顏色空間的“CMYK”。

  • **bands** - 此引數是一個元組,包含我們要合併的各個影像波段。每個波段都應該是單通道影像或灰度影像。

示例

以下是如何使用 `Image.merge()` 方法合併影像的紅色、綠色和藍色波段以建立新的 RGB 影像的示例。

from PIL import Image
image = Image.open("Images/butterfly.jpg")
r, g, b = image.split()
image = Image.merge("RGB", (b, g, r))
image.show()

待使用的影像

butterfly original image

輸出

blue butterfly

示例

在此示例中,我們使用 Pillow 庫的 `Image` 模組的 `merge()` 方法合併兩個輸入影像。

from PIL import Image
image1 = Image.open("Images/butterfly.jpg")
image2 = Image.open("Images/hand writing.jpg")

#resize, first image
image1 = image1.resize((426, 240))
image1_size = image1.size
image2_size = image2.size
new_image = Image.new("RGB",(2*image1_size[0], image1_size[1]), (250,250,250))
new_image.paste(image1,(0,0))
new_image.paste(image2,(image1_size[0],1))
new_image.save("output Image/merged.jpg")
new_image.show()

要合併的兩張影像

butterfly original image expanded image

輸出

two images merged
廣告