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.

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.
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:
- 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.
- 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.
- Pengenalan Karakter: Dalam pengenalan karakter atau OCR (Optical Character Recognition), konversi citra teks menjadi citra biner memungkinkan kita untuk mengidentifikasi karakter-karakter yang ada.
- Deteksi Tepi: Citra biner digunakan dalam deteksi tepi untuk mengidentifikasi perubahan tajam dalam intensitas piksel.
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:
- Hitung Histogram: Pertama, kita menghitung histogram citra grayscale. Histogram ini adalah distribusi frekuensi intensitas piksel dalam citra.
- Normalisasi Histogram: Histogram dinormalisasi dengan membagi setiap frekuensi oleh jumlah total piksel dalam citra. Ini menghasilkan distribusi probabilitas intensitas piksel.
- Hitung Jumlah Piksel Total: Jumlah total piksel dalam citra dihitung.
- Hitung Rata-rata Global: Rata-rata intensitas global dari seluruh citra dihitung.
- 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.
- Hitung Varians Campuran: Varians campuran adalah nilai yang digunakan untuk mengevaluasi sejauh mana dua kelas dapat dipisahkan oleh nilai ambang tertentu.
- Pilih Nilai Ambang Optimal: Nilai ambang yang menghasilkan varians campuran maksimum dipilih sebagai nilai ambang yang optimal untuk konversi citra.
- 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.
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.
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 analisis citra, citra biner, citra grayscale, deteksi tepi, histogram citra, Konversi Citra Biner, metode otsu, pemrograman matlab, Pengenalan Karakter, pengolahan citra, segmentasi citra, thresholding citra. Bookmark the permalink. Leave a comment.


















































Leave a comment
Comments 0