Grayscale merupakan salah satu proses dalam pengolahan citra. Proses ini biasanya merupakan step awal dan step pembuka untuk step pengolahan citra selanjutnya. Semisal proses binerisasi, proses pengestrakan citra. Proses ini memiliki keuntungan terhadap penghematan data yang digunakan pada proses pengolahan citra. Disamping itu proses ini juga memunculkan masalah yaitu hilangnya kedetailan sebuah gambar. Secara simple proses ini akan menyamakan semua nilai di tiap pixel pada gambar. Semisal pada pixel 1,1 memiliki nilai RGB = [44,34,255]. Ketika menjadi grayscale nilai RGB menjadi sama semisal RGB = [44,44,44]. nilai RGB yang sama menghasilkan warna abu-abu. Silahkan check di warna berikut:
RGB [44,34,255] |
RGB [44,44,44] |
Code Grayscale Python
Hasil
Gambar asliMenggunakan Flag 0
Menggunakan Flag Imread GrayScale
Menggunakan cvt grayscale
Penjelasan Code
#import librarymengimport library opencv
import cv2
# path gambarmenyimpan path dari image, sehingga mempermudah dalam proses code. Karena dengan menyimpan path dalam bentuk mempermudah dalam pembacaan code. Disamping itu juga mempermudah ketika proses perubahan path dari gambar secara keseluruhan.
path_img = "Image/baboon.png"
# load imagemenunjukkan bagaimana gambar yang asli sebelum, dilakukan proses perubahan kedalam bentuk grayscale. Untuk menampilkan gambar terletak pada imshow(). Sedangkan waitKey() berfungsi agar panel gambar tidak langsung ditutup oleh program. destroyWindow() berfungsi untuk mengclose panel gambar sesuai isi parameter.
img_asli = cv2.imread(path_img)
cv2.imshow("asli",img_asli)
cv2.waitKey(0)
cv2.destroyWindow("asli")
# grayscale 1 imread flag 0pada proses ini, gambar diubah menjadi grayscale dengan cara ketika proses load gambar, langsung diberi flag 0. Yang berarti gambar menjadi mode grayscale. 2 baris code selanjutnya sama seperti penjelasan sebelumnya.
img_gray1 =cv2.imread(path_img,0)
cv2.imshow("grayscale flag 0",img_gray1)
cv2.waitKey(0)
cv2.destroyWindow("grayscale flag 0")
# grayscale 2 imread flag cv2.IMREAD_GRAYSCALEpada proses ini, flag cv2.IMREAD_GRAYSCALE digunakan untuk menandakan gambar di-load dalam bentuk grayscale.
img_gray2 = cv2.imread(path_img,cv2.IMREAD_GRAYSCALE)
cv2.imshow("grayscale flag imread_grayscale",img_gray2)
cv2.waitKey(0)
cv2.destroyWindow("grayscale flag imread_grayscale")
# grayscale 2 metode_cvtcolorproses ini gambar di-convert menjadi GRAY gambar yang bermula berformat BGR normal di-convert menjadi gray.
img_gray3 = cv2.cvtColor(img_asli,cv2.COLOR_BGR2GRAY)
cv2.imshow("grayscale cvt",img_gray3)
cv2.waitKey(0)
cv2.destroyWindow("grayscale cvt")
Video:
soon
Sumber:
https://docs.opencv.org/3.4.0/d7/d4d/tutorial_py_thresholding.html
https://stackoverflow.com/questions/37203970/opencv-grayscale-mode-vs-gray-color-conversion
https://docs.opencv.org/3.0-beta/doc/py_tutorials/py_gui/py_image_display/py_image_display.html
Komentar
Posting Komentar