Fungsi paste()_ di Python Pillow Library memungkinkan kita menempelkan satu gambar ke gambar lainnya. Anda dapat menggunakannya sebagai cara untuk menggabungkan dua gambar menjadi satu
Menempelkan Gambar di Bantal
Kami akan bertujuan untuk menempelkan mahkota di atas kepala anak kucing. Akan ada total 3 bagian, di mana kami bekerja untuk menempelkannya sebaik mungkin
Kami akan menggunakan dua gambar di atas dalam tutorial ini hari ini
Tempel Sederhana
Pertama mari kita coba tempel gambar sederhana, tanpa parameter atau opsi tambahan. Jika bantal mendeteksi mode warna yang berbeda, maka secara otomatis akan mengubah gambar yang sedang ditempelkan ke mode gambar yang sedang ditempelkan. (Ini pada dasarnya adalah penggunaan otomatis fungsi convert())
from PIL import Image img1 = Image.open("kitten.jpg") img2 = Image.open("crown.png") img1.paste(img2) img1.show()
Penting untuk dicatat bahwa img1 telah dimodifikasi secara langsung. Jika Anda ingin mempertahankan gambar asli, Anda harus membuat salinan menggunakan fungsi copy()
Keluaran
Karena kami tidak menentukan koordinat, gambar akan secara otomatis ditempelkan di pojok kiri atas, atau koordinat ( 0, 0 )
Menempel pada Koordinat tertentu
Di bagian ini kami akan menjelaskan cara menempelkan gambar di lokasi tertentu
from PIL import Image, ImageFilter img1 = Image.open("kitten.jpg") img2 = Image.open("crown.png") img1.paste(img2, (250, 20)) img1.show() _
Melewati parameter tambahan dengan tupel koordinat akan mulai menggambar gambar dari koordinat itu
Keluaran
Gambar di atas memiliki mahkota di tempat yang tepat, tetapi tidak terlihat bagus karena latar belakang putih. Gambar ini sebenarnya transparan, tetapi Pillow secara otomatis diubah menjadi format lain. Kami akan membahas cara memperbaikinya di bagian selanjutnya
Menempelkan Gambar Transparan di Bantal
Gambar mahkota kami ditampilkan dengan latar belakang putih karena sifat default Pillow. Kita bisa menyiasatinya dengan menggunakan konsep “topeng”. Cara cepat dan mudah untuk mengimplementasikannya ditunjukkan di bawah ini
from PIL import Image, ImageFilter img1 = Image.open("kitten.jpg") img2 = Image.open("crown_trans.png") img2 = img2.convert("RGBA") # Including the "A" in RGB img1.paste(img2, (270, 10), img2) img1.show()
Kita hanya perlu memasukkan gambar dengan latar belakang transparan ke dalam parameter ketiga, dan Pillow akan menempel dan menampilkannya dengan benar. Kami tidak hanya mengubahnya menjadi RGB, hanya untuk memperjelas. "A" telah disertakan yang mewakili saluran Alpha, yang mengontrol transparansi
Keluaran
Catatan. Ini tidak dimaksudkan untuk menghapus latar belakang (meskipun Anda dapat menggunakannya kembali untuk melakukannya). Alasan mengapa latar belakang menghilang pada gambar di atas adalah karena seperti itulah tampilan aslinya. Yang kami lakukan hanyalah mengubah perilaku default Pillow saat berurusan dengan gambar dengan latar belakang transparan
Ingin mempelajari lebih lanjut tentang Pemrosesan Bantal dan Gambar dengan Python?
Ini menandai akhir dari Tutorial Tempel Gambar Bantal. Setiap saran atau kontribusi untuk CodersLegacy sangat diharapkan. Pertanyaan mengenai konten tutorial dapat ditanyakan di bagian komentar di bawah
Kesalahan sintaks. (kesalahan unicode) codec 'unicodeescape' tidak dapat mendekode byte di posisi 2-3. terpotong \UXXXXXXXX melarikan diri
Dalam konteks contoh kita, kode lengkapnya akan terlihat seperti ini
import shutil original = r'C:\Users\Ron\Desktop\Test_1\products.csv' target = r'C:\Users\Ron\Desktop\Test_2\products.csv' shutil.copyfile(original, target)Jika Anda menjalankan kode dengan Python (disesuaikan dengan jalur Anda), Anda akan melihat bahwa file CSV 'produk' akan disalin ke folder Test_2
Atau, Anda dapat menyalin file dengan nama baru
Misalnya, mari salin file CSV asli (dengan nama file 'produk') ke lokasi baru dengan nama file baru ('produk_baru')
import shutil original = r'C:\Users\Ron\Desktop\Test_1\products.csv' target = r'C:\Users\Ron\Desktop\Test_2\new_products.csv' shutil.copyfile(original, target) _Nama file baru (disebut 'new_products') kemudian akan disalin di lokasi target (folder Test_2)
Prinsip yang sama akan berlaku untuk jenis file lainnya. Misalnya, misalkan file JPG bernama 'image' disimpan di folder Test_1