CSS background-imageThe Show By default, the image is repeated so it covers the entire element. ExampleSet the background image for a page: body { Try it Yourself » ExampleThis example shows a bad combination of text and background image. The text is hardly readable: body { Try it Yourself » Note: When using a background image, use an image that does not disturb the text. The background image can also be set for specific elements, like the <p> element: The CSS Background Image Property
2,164 Views OpenCV sudah menjadi bagian tidak terpisahkan bila kita bekerja dengan computer vision, bahkan untuk Java-Python-Scala-Julia, kami sering menggunakan library tersebut untuk sekedar hanya membaca serta sedikit melakukan operasi image processing. Namun demikian terutama di Python, ada PIL – Pillow adalah singkatan dari Python Image Library. Pada artikel ini, PIL sudah mencapai versi 8.0.1 pada tanggal 23 Oktober 2020, bisa kalian install via pip https://pypi.org/project/Pillow/ Pillow menyediakan dukungan untuk berbagai format gambar termasuk format JPEG dan PNG yang populer. Pillow juga menyediakan berbagai metode pemrosesan gambar seperti yang akan kita lihat di bagian ini. Teknik ini sangat berguna terutama dalam menambah data pelatihan untuk masalah computer vision. Cara Install PillowContents
Seperti biasa, kalian bisa menggunakan perintah PIP dengan perintah seperti berikut
Mencoba PillowUntuk melihat cara kerja menggunakan Pillow. Langkah pertama adalah mengimpor kelas Image dari PIL. Ntra kita akan berbicara lebih banyak tentang kelas Image di bagian selanjutnya. from PIL import Image im = Image.open("cat.png") Image Bands – LayerSetiap gambar memiliki satu atau lebih band (layer warna). Dengan menggunakan Pillow, sama seperti library yang lain, kita dapat menyimpan satu atau beberapa band (layer warna) dalam sebuah gambar. Misalnya, gambar berwarna biasanya memiliki layer ‘R’, ‘G’, dan ‘B’ masing-masing untuk Merah, Biru, dan Hijau. Kita coba saja cek band terhadap gambar diatas im.getbands() ('R', 'G', 'B') Image ModesMode mengacu pada jenis dan kedalaman piksel dalam gambar. Beberapa mode yang saat ini didukung adalah:
Berikut adalah cara mendapatkan mode untuk gambar yang kita muat di atas im.mode 'RGB' SizeKalian juga bisa mendapatkan dimensi gambar melalui atribut gambar im.size (400, 600) Lebih jauh mengenai Class Image pada PillowSeperti yang telah saya sebutkan sebelumnya, kita harus mengimpor kelas Image dari PIL sebelum membaca gambar. Class ini berisi fungsi yang memungkinkan kita memuat file gambar serta membuat gambar baru. Ke depannya, fungsi yang akan kita gunakan telah diimpor sebagai hasil dari mengimpor Image, kecuali dinyatakan lain. Cropping imagesUntuk memotong gambar, kita mulai dengan menentukan rectangle/box yang menentukan area gambar yang ingin kita potong. Selanjutnya, kita meneruskan box itu ke fungsi `crop` dari Image class box = (100, 150, 300, 300) cropped_image = im.crop(box) cropped_image Rotating imagesMemutar gambar dilakukan melalui fungsi rotate pada Image Class. PIL image to NumPy arrayPillow juga memungkinkan kita mengonversi gambar menjadi array NumPy. Setelah mengubah gambar menjadi array NumPy kita bisa membacanya menggunakan PIL import numpy as np im_array = np.array(im) Dengan gambar yang dikonversi sekarang kita dapat memuatnya menggunakan Pillow. Ini dilakukan dengan menggunakan fungsi fromarray dari kelas Pillow’s Image. Terakhir, kita menyimpan dan menampilkan gambar menggunakan fungsi PIL show image. img = Image.fromarray(im_array, 'RGB') img.save('image.png') img.show() Color transformationsKita dapat mengganti gambar dari berwarna menjadi hitam putih dan sebaliknya. Ini dilakukan melalui fungsi konversi dan meneruskan format warna yang diinginkan. im.convert('L') Mengubah menjadi berwarna dapat dilakukan dengan cara yang serupa im.convert('RGBA') Image enhancementPillowjuga dilengkapi dengan fungsi yang memungkinkan kita melakukan peningkatan/enhancement citra. Ini adalah proses yang meningkatkan kualitas asli sebuah gambar. Kita mulai dengan mengimpor modul yang mengirimkan fungsionalitas tersebut from PIL import ImageEnhance Misalnya, kita bisa mengatur ketajaman gambar: from PIL import ImageEnhance enhancer = ImageEnhance.Sharpness(im) enhancer.enhance(10.0) Mari kita ambil contoh lain di mana kami menggandakan kecerahan gambar. enhancer = ImageEnhance.Contrast(im) enhancer.enhance(2) FiltersHal super keren lainnya yang dapat kita lakukan dengan Pillow adalah menambahkan filter ke gambar. Langkah pertama adalah mengimpor modul ImageFilter from PIL import ImageFilter Misalnya, kita bisa memburamkan gambar seperti ini: from PIL import ImageFilter im.filter(ImageFilter.BLUR) Filter lain yang tersedia meliputi: Contourim.filter(ImageFilter.CONTOUR) DETAILim.filter(ImageFilter.DETAIL) EDGE_ENHANCEim.filter(ImageFilter.EDGE_ENHANCE) EMBOSSim.filter(ImageFilter.EMBOSS) Bagaimana menurut kalian Pillow? Ringkas sederhana sangat membantu kita dalam mengolah gambar. Ref: https://pillow.readthedocs.io/en/stable/ |