Python Pillow - การรวมรูปภาพ

แพ็กเกจหมอนช่วยให้คุณสามารถวางรูปภาพลงบนรูปภาพอื่นได้ ฟังก์ชัน merge () ยอมรับโหมดและทูเพิลของรูปภาพเป็นพารามิเตอร์และรวมเข้าด้วยกันเป็นรูปภาพเดียว

ไวยากรณ์

Image.merge(mode, bands)

ที่ไหน

  • mode - โหมดที่จะใช้สำหรับภาพที่ส่งออก

  • bands - ลำดับที่มีอิมเมจแบนด์เดียวสำหรับแต่ละแบนด์ในเอาต์พุตอิมเมจ วงดนตรีทั้งหมดต้องมีขนาดเท่ากัน

  • Return value - วัตถุรูปภาพ

เมื่อใช้ฟังก์ชัน merge () คุณสามารถผสานแถบ RGB ของรูปภาพเป็น -

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

ในการดำเนินการโค้ดด้านบนคุณจะเห็นภาพต้นฉบับและภาพที่ผสานแถบ RGB ดังที่แสดงด้านล่าง -

Input image

Output image

การรวมภาพสองภาพ

ในทำนองเดียวกันในการผสานสองภาพที่แตกต่างกันคุณต้อง -

  • สร้างออบเจ็กต์รูปภาพสำหรับรูปภาพที่ต้องการโดยใช้ฟังก์ชัน open ()

  • ในขณะที่ผสานสองภาพคุณต้องตรวจสอบให้แน่ใจว่าทั้งสองภาพมีขนาดเท่ากัน ดังนั้นรับแต่ละขนาดของทั้งสองภาพและหากจำเป็นให้ปรับขนาดให้เหมาะสม

  • สร้างภาพเปล่าโดยใช้ฟังก์ชัน Image.new ()

  • วางภาพโดยใช้ฟังก์ชันวาง ()

  • บันทึกและแสดงภาพผลลัพธ์โดยใช้ฟังก์ชันบันทึก () และแสดง ()

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงให้เห็นถึงการรวมภาพสองภาพโดยใช้หมอนหลาม -

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

เอาต์พุต

หากคุณบันทึกโปรแกรมข้างต้นเป็น Example.py และดำเนินการโปรแกรมจะแสดงภาพอินพุตสองภาพและภาพที่ผสานโดยใช้ยูทิลิตี้การแสดงผล PNG มาตรฐานดังต่อไปนี้ -

Input image1

Input image2

Merged image