Seri Segmentasi Citra : Simple Thressholding (Bagian 2)

Salah satu metode segmentasi yang paling sederhana adalah Simple Thressholding. Thresholding adalah proses pemisahan piksel dalam citra menjadi dua kelompok, yang dipisahkan berdasarkan nilai ambang tertentu. Setiap piksel dalam citra dianalisa satu per satu, dibandingkan dengan nilai ambang, dan ditentukan apakah termasuk bagian dari obyek atau latar belakang.

Pada dasarnya, thresholding digunakan untuk mengubah citra menjadi citra biner, di mana hanya ada dua nilai intensitas yang mungkin, yaitu hitam dan putih. Nilai ambang yang digunakan dapat tetap atau dapat disesuaikan secara otomatis berdasarkan metode yang digunakan.

Dalam simple thressholding, nilai ambang ini diambil dari nilai tengah skala keabuan. Misalnya, pada citra grayscale, dimana nilai tiap piksel berkisar dari 0-255, maka nilai ambangnya adalah 128. Selanjutnya setiap piksel pada citra akan dibandingkan dengan nilai 128 ini. Jika nilainya di bawah 128, maka nilai piksel tersebut diubah menjadi 0. Dan jika nilai piksel di atas 128, maka nilai piksel diubah menjadi 255. Sehingga nantinya akan terbentuk citra baru dalam bentuk biner, yang hanya terdiri dari dua warna, yaitu hitam (nilai 0) dan putih (nilai 255).

Contoh segmentasi menggunakan simple thressholding adalah sebagai berikut :

Berikut adalah contoh script python untuk melakukan Simple Thressholding pada citra digital.

import cv2
from matplotlib import pyplot as plt

image = cv2.imread("Gambar1.jpg")
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
gray2 = gray.copy();

t1 = 128
(h, w, d) = image.shape
for i in range(h):
for j in range(w):
nilai = int(gray[i, j]);
if (nilai < t1 ):
nilai = 0
else :
nilai = 255;
gray2[i, j] = nilai

plt.subplot(1,2,1), plt.imshow(image)
plt.title("Original"), plt.xticks([]), plt.yticks([])
plt.subplot(1,2,2), plt.imshow(gray2, "gray")
plt.title("Thressholding"), plt.xticks([]), plt.yticks([])
plt.show()


Script Python di atas juga bisa didownload disini.

Tidak ada komentar