Halo gengs kali ini saya mau
sharing tentang penggunaan opencv untuk gambar. Sebelum itu kita harus mengenal
terlebih dahulu tentang Opencv itu sendiri. OpenCV dimulai di Intel pada tahun
1999 oleh Gary Bradsky dan rilis pertama kali pada tahun 2000. Vadim Pisarevsky
bergabung dengan Gary Bradsky untuk mengelola perangkat lunak Rusia Intel
OpenCV tim. Pada tahun 2005, OpenCV digunakan Stanley, kendaraan yang memenangkan
2005 DARPA Grand Challenge. Kemudian perkembangannya aktif terus di bawah
dukungan dari Willow Garage, dengan Gary Bradsky dan Vadim Pisarevsky memimpin
proyek. Sekarang, OpenCV mendukung banyak algoritma yang berkaitan dengan
Computer Vision dan pembelajaran mesin dan terus berkembang hari demi hari. Saat
ini OpenCV mendukung berbagai bahasa pemrograman seperti C++, Python, Java dll
dan tersedia pada platform yang berbeda termasuk Windows, Linux, OS X, Android,
iOS dll. Juga, antarmuka berdasarkan CUDA dan OpenCL juga di bawah pengembangan
aktif untuk operasi GPU berkecepatan tinggi.
Python adalah tujuan umum Bahasa
pemrograman dimulai oleh Guido van Rossum, yang menjadi sangat populer terutama
karena kesederhanaan dan mudah dibaca. Hal ini memungkinkan programmer untuk
mengekspresikan ide-ide lebih sedikit baris kode tanpa mengurangi keterbacaan
apapun.
Dibandingkan dengan bahasa lain
seperti C/c ++, Python lebih lambat. Tapi fitur penting lainnya dari Python
adalah bahwa itu dapat dengan mudah diperluas dengan C/c ++. Fitur ini membantu
kita untuk menulis kode mesin dalam C/c ++ dan membuat bungkus Python untuk itu
sehingga kita dapat menggunakan pembungkus ini sebagai modul Python. Ini
memberikan dua keuntungan: pertama, kode kita secepat kode C/c ++ asli (karena
itu adalah kode C++ aktual yang bekerja di latar belakang) dan kedua, itu
sangat mudah untuk kode dalam Python.
Dan dukungan dari Numpy membuat
tugas lebih mudah. Numpy adalah sebuah perpustakaan yang sangat optimal untuk
operasi numerik. Ini memberikan sintaks MATLAB bergaya. Semua struktur array
OpenCV dikonversi ke-dan-dari Numpy array. Jadi operasi apa pun dapat Anda
lakukan di Numpy, Anda dapat menggabungkan itu dengan OpenCV, yang meningkatkan
jumlah senjata di gudang senjata Anda. Selain itu, beberapa perpustakaan lain
seperti SciPy, Matplotlib yang mendukung Numpy dapat digunakan dengan ini.
Jadi tujuan kita pada artikel
kali ini :
1. Di
sini, Anda akan belajar bagaimana untuk read image, bagaimana untuk
menampilkannya dan bagaimana untuk menyimpan kembali.
2. Anda
akan belajar fungsi-fungsi seperti: cv2.imread(), cv2.imshow(), cv2.imwrite()
3. Opsional,
Anda akan belajar bagaimana untuk menampilkan gambar dengan Matplotlib
Membaca gambar
Menggunakan cv2.imread() fungsi
untuk membaca gambar. Gambar harus di dalam direktori kerja atau path dari
gambar harus lengkap saat dimasukkan atau dipanggil.
Argumen kedua adalah flag yang
menentukan cara gambar harus dibaca.
·
cv2. IMREAD_COLOR: Memuat gambar berwarna.
Setiap transparansi gambar akan diabaikan.
·
cv2. IMREAD_GRAYSCALE: Memuat gambar mode
grayscale
·
cv2. IMREAD_UNCHANGED: Load image seperti
termasuk alpha channel
Bisa lihat code dibawah ini:
import numpy
as np
import cv2
# Load an color image in
grayscale
img = cv2.imread('messi.jpg',0)
Dari code diatas kita menggunakan
cv2.imread untuk membaca gambar dan merubah gambar menjadi grayscale dengan
penggunaan angka 0.
Dari code diatas saya mengatur
resolusi layar yaitu 300x500. Sehingga didapatkan output dibawah ini
Menampilkan gambar
Gunakan fungsi cv2.imshow() untuk
menampilkan gambar di layar. Layar secara otomatis sesuai dengan ukuran gambar.
Argumen pertama adalah nama layar yang merupakan string. argumen kedua adalah
gambar yang telah kita read diawal. Anda dapat membuat banyak layar seperti
yang Anda inginkan, tetapi dengan nama-nama layar berbeda.
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
Berikut adalah hasil dari code
diatas
CV2.waitKey() adalah fungsi
mengikat keyboard. Argumen adalah waktu dalam milidetik. Fungsi menunggu
ditentukan milidetik untuk sembarang tombol keyboard. Jika Anda menekan
sembarang tombol pada waktu itu, program ini terus berjalan. Jika 0
berlalu,maka dia akan berhenti.
CV2.destroyAllWindows() digunakan
untuk menutup semua jendela yang kita buat. Jika Anda ingin menutup setiap
jendela khusus, menggunakan fungsi cv2.destroyWindow() dengan menentukan
jendela mana yang akan di tutup.
Kita juga bisa melakukan resize
jendela/ layar yang ingin kita buat. Disini saya menggunakan code berikut
screen_res = 300, 500
scale_width = screen_res[0] /
img.shape[1]
scale_height = screen_res[1] /
img.shape[0]
scale = min(scale_width,
scale_height)
window_width = int(img.shape[1] *
scale)
window_height = int(img.shape[0] *
scale)
cv2.namedWindow('image',
cv2.WINDOW_NORMAL)
cv2.resizeWindow('image', window_width, window_height)
Save sebuah gambar
Gunakan fungsi cv2.imwrite()
untuk menyimpan gambar. Argumen pertama adalah nama file, argumen kedua adalah
gambar yang ingin disimpan.cv2.imwrite('messigray.png',img)
Kita akan menyimpan gambar dalam
format PNG di dalam direktori kerja.Dibawah ini program dimana kita
membaca sebuah gambar kemudian menampilkan dan jika anda menekan ESC maka
program akan keluar tanpa menyimpan, sedangkan jika anda menekan “s” maka
program akan menyimpan gambar gray yang dibuat dengan format png.
import
numpy as np
import
cv2
img = cv2.imread('messi.jpg',0)
cv2.imshow('image',img)
k = cv2.waitKey(0)
if k == 27: # wait for ESC
key to exit
cv2.destroyAllWindows()
elif
k == ord('s'): # wait for 's'
key to save and exit
cv2.imwrite('messigray.png',img)
cv2.destroyAllWindows()
Didapatkan output telah
tersimpan gambar baru yaitu messigray.png
import cv2
from matplotlib import pyplot as plt
img = cv2.imread('messi.jpg',0)
plt.imshow(img, cmap = 'gray', interpolation = 'bicubic')
plt.xticks([]), plt.yticks([]) # to hide tick values on X and Y axis
plt.show()
Disini kita mendapatkan output seperti dibawah ini
Ok mungkin sekian dulu gengs untuk post kali ini, di tunggu artikel selanjutnya
Menggunakan Matplotlib
Matplotlib
adalah sebuah plotting library untuk Python yang memberi Anda berbagai macam
metode plotting. Di sini, Anda akan belajar bagaimana untuk menampilkan gambar
dengan Matplotlib. Anda dapat memperbesar gambar, Simpan dll menggunakan
Matplotlib.
import numpy as
np import cv2
from matplotlib import pyplot as plt
img = cv2.imread('messi.jpg',0)
plt.imshow(img, cmap = 'gray', interpolation = 'bicubic')
plt.xticks([]), plt.yticks([]) # to hide tick values on X and Y axis
plt.show()
Disini kita mendapatkan output seperti dibawah ini
Memulai Dengan Gambar Menggunakan Opencv-Python
Reviewed by Jimmy Pujoseno
on
March 12, 2018
Rating:
This comment has been removed by the author.
ReplyDelete