Konversi Citra Biner Menggunakan Metode Otsu


Pengolahan citra adalah salah satu bidang yang memiliki banyak aplikasi di berbagai industri, termasuk bidang kedokteran, pemrosesan gambar, dan pengenalan pola. Salah satu tugas umum dalam pengolahan citra adalah mengkonversi citra berwarna atau grayscale menjadi citra biner. Konversi ini berguna untuk memisahkan objek dari latar belakang dan mempermudah analisis lebih lanjut.

Otsu Thresholding (https://www.mdpi.com)

Dalam artikel ini, kita akan fokus pada konversi citra grayscale menjadi citra biner menggunakan metode Otsu dengan menggunakan bahasa pemrograman Matlab. Metode Otsu adalah salah satu metode yang umum digunakan untuk mengubah citra grayscale menjadi citra biner dengan memilih nilai ambang (threshold) secara otomatis. Kita akan membahas konsep dasar, langkah-langkah implementasi, serta cara mengimplementasikan metode Otsu menggunakan Matlab.

Tampilan Sistem Konversi Citra Biner Menggunakan Metode Otsu

Mengapa Konversi Citra Biner Penting?

Sebelum kita membahas metode Otsu, mari kita pahami mengapa konversi citra biner penting dalam pengolahan citra. Citra biner hanya memiliki dua nilai piksel: hitam (objek) dan putih (latar belakang). Konversi ini berguna dalam banyak aplikasi, termasuk:

  1. Segmentasi Objek: Dalam analisis citra, kita sering perlu mengidentifikasi dan mengisolasi objek dari latar belakang. Citra biner memungkinkan kita untuk dengan jelas memisahkan objek dan latar belakang.
  2. Ekstraksi Fitur: Ketika kita ingin mengekstraksi fitur-fitur dari objek dalam citra, citra biner memungkinkan kita untuk fokus pada objek tersebut, yang mempermudah perhitungan fitur-fitur tersebut.
  3. Pengenalan Karakter: Dalam pengenalan karakter atau OCR (Optical Character Recognition), konversi citra teks menjadi citra biner memungkinkan kita untuk mengidentifikasi karakter-karakter yang ada.
  4. Deteksi Tepi: Citra biner digunakan dalam deteksi tepi untuk mengidentifikasi perubahan tajam dalam intensitas piksel.
Tampilan Sistem Konversi Citra Biner Menggunakan Metode Otsu

Metode Otsu dalam Konversi Citra Biner

Metode Otsu adalah salah satu metode yang paling umum digunakan untuk menghitung nilai ambang yang optimal untuk mengkonversi citra grayscale menjadi citra biner. Metode ini memanfaatkan histogram citra untuk menemukan nilai ambang yang memaksimalkan antara kelas dalam citra (objek dan latar belakang).

Berikut adalah langkah-langkah umum dalam metode Otsu:

  1. Hitung Histogram: Pertama, kita menghitung histogram citra grayscale. Histogram ini adalah distribusi frekuensi intensitas piksel dalam citra.
  2. Normalisasi Histogram: Histogram dinormalisasi dengan membagi setiap frekuensi oleh jumlah total piksel dalam citra. Ini menghasilkan distribusi probabilitas intensitas piksel.
  3. Hitung Jumlah Piksel Total: Jumlah total piksel dalam citra dihitung.
  4. Hitung Rata-rata Global: Rata-rata intensitas global dari seluruh citra dihitung.
  5. Iterasi Pada Nilai Ambang: Untuk setiap nilai ambang yang mungkin (biasanya dalam rentang 0 hingga 255 untuk citra 8-bit), metode Otsu menghitung probabilitas dua kelas: kelas yang lebih rendah daripada ambang dan kelas yang lebih tinggi daripada ambang. Kemudian, varian dalam dua kelas ini dihitung.
  6. Hitung Varians Campuran: Varians campuran adalah nilai yang digunakan untuk mengevaluasi sejauh mana dua kelas dapat dipisahkan oleh nilai ambang tertentu.
  7. Pilih Nilai Ambang Optimal: Nilai ambang yang menghasilkan varians campuran maksimum dipilih sebagai nilai ambang yang optimal untuk konversi citra.
  8. Konversi Citra: Citra grayscale diubah menjadi citra biner dengan menggunakan nilai ambang yang optimal.

Metode Otsu adalah metode yang sangat efektif karena secara otomatis menentukan nilai ambang yang optimal tanpa memerlukan intervensi pengguna. Sekarang, mari kita lihat bagaimana kita dapat mengimplementasikan metode Otsu menggunakan Matlab.

Tampilan Sistem Konversi Citra Biner Menggunakan Metode Otsu

Implementasi Metode Otsu dengan Matlab

Langkah-langkah berikut menjelaskan cara mengimplementasikan metode Otsu menggunakan Matlab:

1. Membaca Citra

Langkah pertama adalah membaca citra grayscale yang akan dikonversi menjadi citra biner. Anda dapat menggunakan fungsi imread dan rgb2gray jika citra awalnya berwarna.

% Membaca citra grayscale
inputImage = imread('citra_grayscale.jpg');

2. Menghitung Histogram

Selanjutnya, kita menghitung histogram dari citra grayscale menggunakan fungsi imhist.

% Menghitung histogram citra
histogram = imhist(inputImage);

3. Normalisasi Histogram

Histogram dinormalisasi dengan membagi setiap frekuensi oleh jumlah total piksel dalam citra.

% Normalisasi histogram
histogramNormalized = histogram / numel(inputImage);

4. Iterasi Pada Nilai Ambang

Kita perlu melakukan iterasi pada semua nilai ambang yang mungkin dan menghitung varians campuran untuk setiap nilai ambang.

% Inisialisasi variabel
numThresholds = 256; % Jumlah nilai ambang yang mungkin
varianceBetweenClasses = zeros(1, numThresholds);

for threshold = 1:numThresholds
    % Menghitung probabilitas dua kelas
    p1 = sum(histogramNormalized(1:threshold));
    p2 = sum(histogramNormalized(threshold+1:end));

    % Menghitung rata-rata dua kelas
    mean1 = sum((0:threshold-1) .* histogramNormalized(1:threshold)) / p1;
    mean2 = sum((threshold:255) .* histogramNormalized(threshold+1:end)) / p2;

    % Menghitung varians dalam dua kelas
    varianceWithinClass1 = sum(((0:threshold-1) - mean1).^2 .* histogramNormalized(1:threshold)) / p1;
    varianceWithinClass2 = sum(((threshold:255) - mean2).^2 .* histogramNormalized(threshold+1:end)) / p2;



    % Menghitung varians campuran
    varianceBetweenClasses(threshold) = p1 * varianceWithinClass1 + p2 * varianceWithinClass2;
end

5. Pilih Nilai Ambang Optimal

Nilai ambang yang menghasilkan varians campuran maksimum dipilih sebagai nilai ambang yang optimal.

% Mencari nilai ambang optimal
[~, optimalThreshold] = max(varianceBetweenClasses);

6. Konversi Citra

Citra grayscale diubah menjadi citra biner dengan menggunakan nilai ambang yang optimal.

% Konversi citra menggunakan nilai ambang optimal
binaryImage = inputImage > optimalThreshold;

7. Menampilkan Hasil

Terakhir, kita dapat menampilkan citra asli dan citra biner yang telah dikonversi menggunakan Matlab.

% Menampilkan citra asli dan citra biner
subplot(1, 2, 1);
imshow(inputImage);
title('Citra Grayscale Asli');

subplot(1, 2, 2);
imshow(binaryImage);
title('Citra Biner Menggunakan Metode Otsu');

Konversi citra biner adalah langkah penting dalam pengolahan citra untuk mengidentifikasi objek dan latar belakang dengan jelas. Metode Otsu adalah metode yang populer dan efektif untuk menghitung nilai ambang yang optimal secara otomatis. Dalam artikel ini, kita telah menjelaskan konsep dasar metode Otsu dan langkah-langkah implementasinya menggunakan Matlab. Dengan menggunakan kode yang disediakan, Anda dapat dengan mudah mengkonversi citra grayscale Anda menjadi citra biner dengan presisi tinggi dan tanpa intervensi manual.

Tampilan Sistem Konversi Citra Biner Menggunakan Metode Otsu

Pengolahan citra adalah bidang yang terus berkembang dengan banyak aplikasi yang bermanfaat di berbagai industri. Metode Otsu adalah salah satu alat penting dalam toolbox pengolahan citra yang dapat membantu Anda memahami dan memanfaatkan informasi yang terkandung dalam citra digital. Dengan pemrograman Matlab, Anda memiliki alat yang kuat untuk melakukan konversi citra biner dan analisis citra lainnya.

Source code beserta data lengkap pemrograman MATLAB di atas dapat diperoleh melalui halaman berikut ini: Source Code

Posted on October 10, 2023, in Pengolahan Citra and tagged , , , , , , , , , , , . Bookmark the permalink. Leave a comment.

Leave a comment