Gối Python - Hợp nhất hình ảnh

Gói gối cho phép bạn dán một hình ảnh lên một hình khác. Hàm merge () chấp nhận một chế độ và nhiều hình ảnh làm tham số và kết hợp chúng thành một hình ảnh duy nhất.

Cú pháp

Image.merge(mode, bands)

Ở đâu,

  • mode - Chế độ sử dụng cho hình ảnh đầu ra.

  • bands - Một chuỗi chứa một hình ảnh băng tần đơn cho mỗi băng tần trong hình ảnh đầu ra. Tất cả các dải phải có cùng kích thước.

  • Return value - Đối tượng An Image.

Sử dụng hàm merge (), bạn có thể hợp nhất các dải RGB của hình ảnh dưới dạng:

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

Khi thực hiện đoạn mã trên, bạn có thể thấy hình ảnh gốc và hình ảnh hợp nhất các dải RGB như hình dưới đây:

Input image

Output image

Hợp nhất hai hình ảnh

Theo cách tương tự, để hợp nhất hai hình ảnh khác nhau, bạn cần -

  • Tạo đối tượng hình ảnh cho các hình ảnh cần thiết bằng cách sử dụng hàm open ().

  • Trong khi hợp nhất hai hình ảnh, bạn cần đảm bảo rằng cả hai hình ảnh có cùng kích thước. Do đó, hãy lấy từng kích thước của cả hai hình ảnh và nếu cần, hãy thay đổi kích thước chúng cho phù hợp.

  • Tạo một hình ảnh trống bằng cách sử dụng hàm Image.new ().

  • Dán các hình ảnh bằng cách sử dụng hàm paste ().

  • Lưu và hiển thị hình ảnh kết quả bằng cách sử dụng các hàm save () và show ().

Thí dụ

Ví dụ sau minh họa sự hợp nhất của hai hình ảnh bằng cách sử dụng gối con trăn:

from PIL import Image
#Read the two images
image1 = Image.open('images/elephant.jpg')
image1.show()
image2 = Image.open('images/ladakh.jpg')
image2.show()
#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],0))
new_image.save("images/merged_image.jpg","JPEG")
new_image.show()

Đầu ra

Nếu bạn lưu chương trình trên dưới dạng example.py và thực thi, nó sẽ hiển thị hai hình ảnh đầu vào và hình ảnh được hợp nhất bằng tiện ích hiển thị PNG tiêu chuẩn, như sau:

Input image1

Input image2

Merged image