Bagaimana Mengkonversi Citra Berwarna, Citra Keabuan dan Citra Biner?
Table of Contents
Seringkali dalam proses pengolahan citra, citra berwarna harus dikonversi ke dalam bentuk citra lain yaitu citra keabuan (grayscale), ataupun bisa juga citra keabuan dikonversi ke dalam citra biner. Konversi ini diperlukan karena operasi pemrosesan citra membutuhkan jenis citra yang sesuai. Berikut penjelasannya.
Mengonversi Citra Berwarna ke Citra Keabuan
Secara umum, citra berwarna dapat dikonversi ke citra berskala keabuan menggunakan rumus 1 berikut :
I=a x R+b x G+c x B, dengan a+b+c=1
dengan R menyatakan nilai komponen merah, G menyatakan nilai komponen hijau, dan B menyatakan nilai komponen biru. Misalnya, sebuah piksel mempunyai komponen R, G, B sebagai berikut:
R = 50
G = 70
B = 61
Jika a, b, dan c pada rumus 1 dibuat sama, akan diperoleh hasil seperti berikut :
I = (50 + 70 + 60) / 3 = 60
Salah satu contoh rumus yang biasa dipakai untuk mengubah ke skala keabuan yaitu rumus 2 berikut :
I=0,2989 x R+0,5870 x G+0,1141 x B
Contoh berikut menunjukkan cara melakukan konversi dari citra berwarna ke citra berskala keabuan menggunakan rumus 2. Sementara itu gambar 1 menunjukkan citra berwarna sebelum proses konversi ke citra keabuan.
Gambar 1 Citra Warna |
Img = imread('gambarWarna.jpg'); hasil = uint8(0.2989 * double(Img(:,:,1)) + ... 0.5870*double(Img(:,:,2)) + ... 0.1141 * double(Img(:,:,3))); imshow(hasil)
Kode diatas adalah rumus 2 untuk merubah citra berwarna ke citra keabuan, tentunya ada beberapa rumus lain yang dapat digunakan. Rumu-rumus untuk merubah citra ke grayscale telah saya jelaskan lebih dalam di Tiga Metode Algoritma Mengubah R G B Menjadi Grayscale
Penjelasan kode :
Penjelasan kode :
- Tanda ... menyatakan bahwa perintah pada baris tersebut masih memiliki lanjutan pada baris berikutnya.
- Tanda : berarti semua nilai
- double dipakai untuk melakukan konversi dari tipe bilangan bulat 8 bit (uint8) ke tipe double (yang memungkinkan pemrosesan bilangan real berpresisi ganda).
- uint8 berguna untuk mengonversi dari tipe double ke uint8 (tipe bilangan bulat 8 bit).
Hasil konversi ditunjukkan oleh gambar 2 berikut :
Gambar 2 Hasil konversi citra berwarna ke citra keabuan |
Mengkonversi citra berskala keabuan ke citra biner
Strategi yang dipakai untuk mengkonversi dari citra berskala keabuan ke citra biner adalah dengan cara menerapkan nilai yang dikenal sebagai nilai ambang (threshold). Nilai ambang digunakan untuk menentukan suatu intensitas akan dikonversi menjadi 0 atau menjadi 1. Secara matematis, konversi dinyatakan dengan rumus :
Program berikut merupakan contoh untuk mengkonversi citra berskala keabuan ke citra biner :
Untuk memperoleh hasil terbaik, nilai ambang pada program dapat diubah-ubah. Berikut ini adalah hasil citra biner dengan nilai ambang yang berbeda-beda :
Semoga penjelasan singkat tersebut bermanfaat.
Referensi :
Strategi yang dipakai untuk mengkonversi dari citra berskala keabuan ke citra biner adalah dengan cara menerapkan nilai yang dikenal sebagai nilai ambang (threshold). Nilai ambang digunakan untuk menentukan suatu intensitas akan dikonversi menjadi 0 atau menjadi 1. Secara matematis, konversi dinyatakan dengan rumus :
Program berikut merupakan contoh untuk mengkonversi citra berskala keabuan ke citra biner :
% KEBINER Digunakan untuk mengonversi file % daun_gray.png ke citra biner Img = imread('c:\Image\daun_gray.png'); [tinggi, lebar] = size(Img); ambang = 180; % Nilai ini bisa diubah-ubah biner = zeros(tinggi, lebar); for baris=1 : tinggi for kolom=1 : lebar if Img(baris, kolom) >= ambang Biner(baris, kolom) = 0; else Biner(baris, kolom) = 1; end end end imshow(Biner);
Citra keabuan yang digunakan adalah citra daun :
Citra keabuan setelah dikonversi menjadi citra biner dengan nilai ambang 180 :
Citra daun berskala keabuan |
Citra daun berskala biner |
Hasil konversi ke citra biner dengan nilai ambang yang berbeda |
Salam
Referensi :
- Kadir, Abdul dan Susanto, Adhi. Teori dan Aplikasi Pengolahan Citra. Yogyakarta : Andi. 2012
saya mau tanya, gimana mengembalikan/mengkonversi citra keabuan ke citra berwarna? bisa tidak ya gan? mohon dijawab ya
pengen terdokumentasikan kek gini, kuliah lalu ditulis di blog. :3