Apa itu Binerisasi Gambar
Thresholding atau binerisasi adalah teknik dalam computer vision untuk mengubah gambar grayscale menjadi gambar biner (hitam dan putih). Setiap piksel akan dikonversi menjadi dua nilai: 0 (hitam) atau 255 (putih).
Perbedaan Grayscale dan Binary Image
Segmentasi Gambar
Thresholding membantu memisahkan objek dari background, sehingga memudahkan analisis lanjutan.
Penyederhanaan Data
Dengan hanya dua nilai piksel, komputasi menjadi jauh lebih cepat dan efisien.
Thresholding Global
Menggunakan satu nilai threshold untuk seluruh gambar.
Thresholding Adaptive
Nilai threshold ditentukan berdasarkan area lokal gambar.
Otsu Thresholding
Metode otomatis untuk menentukan threshold terbaik berdasarkan histogram.
Instalasi OpenCV
pip install opencv-pythonContoh Kode Thresholding Global
import cv2
image = cv2.imread('gambar.jpg', 0)
# Thresholding global
_, thresh = cv2.threshold(image, 127, 255, cv2.THRESH_BINARY)
cv2.imwrite('binary.jpg', thresh)Mean Thresholding
thresh_mean = cv2.adaptiveThreshold(
image, 255,
cv2.ADAPTIVE_THRESH_MEAN_C,
cv2.THRESH_BINARY,
11, 2
)Gaussian Thresholding
thresh_gaussian = cv2.adaptiveThreshold(
image, 255,
cv2.ADAPTIVE_THRESH_GAUSSIAN_C,
cv2.THRESH_BINARY,
11, 2
)Konsep Otsu
Otsu secara otomatis menentukan nilai threshold dengan memaksimalkan variansi antar kelas (foreground dan background).
Contoh Kode
_, otsu = cv2.threshold(
image, 0, 255,
cv2.THRESH_BINARY + cv2.THRESH_OTSU
)Nilai Threshold
Nilai batas untuk menentukan apakah piksel menjadi hitam atau putih.
Max Value
Nilai maksimum yang diberikan pada piksel yang melebihi threshold (biasanya 255).
Preprocessing dengan Blur
Gunakan Gaussian Blur untuk mengurangi noise sebelum thresholding.
blur = cv2.GaussianBlur(image, (5,5), 0)Pilih Metode yang Tepat
Made with ❤ by Ardheefy