BELAJAR ANALISIS DAN BAHASA PEMROGRAMAN

Manipulasi gambar menggunakan openCV

Halo guys, hari ini kita coba belajar hal yang paling dasar atau simple dari preprocessing image nih, seperti rotation, resize, dan cropping gambar. Disini saya pake gambar Messi ya yg saya download di google. Kalian bisa download sourcenya DISINI
Oke pertama kita biasa import librarynya dulu, dan panggil gambarnya.
Kita akan dapatkan output seperti dibawah ini
Selanjutnya kita akan mengubah ukuran gambar ini dan membuatnya sedikit lebih kecil. Kita dapat memeriksa dimensi gambar dengan menggunakan atribut atau fungsi shape, karena gambar adalah array NumPy

Ketika menjalankan kode ini, kita melihat bahwa outputnya (498, 996, 3). Ini berarti bahwa gambar memiliki 498 baris, 996 kolom, dan 3 channel (komponen RGB). Ketika kita menulis matriks, adalah umum untuk menuliskannya dalam bentuk (# baris x # kolom) -> sama dengan cara menentukan ukuran matriks dalam NumPy.
Namun, ketika kita memperhatikan gambar ini dapat menjadi sedikit membingungkan karena biasanya menentukan gambar dalam hal lebar x tinggi. Melihat bentuk matriks, kita mungkin berpikir bahwa gambar kita lebar 498 pixel dan tinggi 996 pixel. Namun, ini tidak benar. Gambar kita sebenarnya memiliki lebar 996 pixel dan tinggi 498 pixel, menyiratkan bahwa tingginya adalah entri pertama dalam bentuk dan lebar adalah yang kedua.
Karena kita tahu bahwa gambar kita memiliki lebar 996 pixel, mari ubah ukurannya dan buatlah lebar 100 pixel.
Kita harus tetap mengingat aspek rasio gambar, yang merupakan hubungan proporsional antara lebar dan tinggi gambar. Dalam hal ini, kita akan mengubah ukuran gambar untuk memiliki lebar 100 piksel, oleh karena itu, kita perlu menghitung r, rasio lebar baru dengan lebar lama. Kemudian, kita membuat dimensi baru gambar dengan menggunakan 100 piksel untuk lebar, dan r x tinggi gambar lama. Dengan melakukan ini, kita dapat mempertahankan rasio aspek gambar.
Disini kita akan mengubah ukuran gambar. Parameter pertama adalah gambar asli yang ingin kita ubah ukurannya(img) dan argumen kedua adalah dimensi gambar kita yang baru(dim). Parameter ketiga memberi tahu kita algoritma yang akan digunakan saat mengubah ukuran(cv2.inter_area).
Kita mengambil lebar dan tinggi gambar dan menyimpannya dalam variabel masing-masing.
kemudian menghitung bagian tengah/pusat gambar(center), disini kita cukup membagi lebar dan tinggi dengan 2.

Kemudian kita menghitung matriks yang dapat digunakan untuk memutar (dan menskalakan) gambar. Argumen pertama adalah pusat gambar (center) yang kita hitung. Jika kita ingin memutar gambar di sekitar titik sembarang, ini adalah tempat kita akan memasok titik itu. Argumen kedua adalah sudut rotasi yang kita guanakan (dalam derajat). Dan argumen ketiga adalah faktor penskalaan kita, dalam hal ini, 1.0, karena kita ingin mempertahankan skala asli gambar. Jika kita ingin membagi dua ukuran gambar, kita akan menggunakan 0,5. Demikian pula, jika kita ingin menggandakan ukuran gambar, kita akan menggunakan 2.0. bar, kita akan menggunakan 0,5. Demikian pula, jika kita ingin menggandakan ukuran gambar, kita akan menggunakan 2.0. 

Ini adalah output ketika kita menggunakan skala 1.0 

Ini adalah output ketika kita menggunakan skala 0.5 


Dan ini ketika kita menggunakan skala 2.0

Jadi bisa terlihat ya perbedaannya jika menggunakan skala 1.0,0.5, dan 2.0

Selanjutnya kita akan coba crop foto ini dengan Python dan OpenCV. Yang kita lakukan hanyalah slicing arrays. slicing arrays dengan python berarti mengambil elemen dari satu indeks yang diberikan ke indeks yang lainnya. Kita menyediakan koordinat startY dan endY, diikuti oleh koordinat startX dan endX. Hasilnya seperti dibawah ini.

Selanjutnnya kita akan simpan gambar yang sudah di cropp

Selanjutnya kita akan simpan gambar pakai fungsi imwrite, argumen pertama ini adalah nama file dan argumen kedua adalah file yang sudah kita crop. Berikut hasilnya 


Mungkin seperti itu manipulasi gambar dasar dengan Python dan OpenCV. See you next post


Manipulasi gambar menggunakan openCV Manipulasi gambar menggunakan openCV Reviewed by Jimmy Pujoseno on August 02, 2020 Rating: 5

No comments:

Recent Post

Powered by Blogger.