Konversi Gambar RGB ke Grayscale di Matlab

Untuk merubah gambar RGB ke gambar grayscale di MATLAB disediakan fungsi khusus yaitu rgb2gray(matrik_gambar),  tetapi kadangkala diinginkan untuk perubahan bentuk grayscale ini tidak menggunakan fungsi MATLAB yang sudah ada yang merupakan nilai rata-rata piksel RGB tetapi masing-masing nilai RGB diberi nilai bobot yang berbeda-beda, hal ini dengan mudah dilakukan dengan menggunakan pemisahan nilai seperti contoh berikut ini :

gambar=imread('PDPI.png'); %--------membaca file gambar
red=gambar(:,:,1); %memanggil matriks gambar yang hanya berisi piksel warna merah
green=gambar(:,:,2);% memanggil matriks gambar yang hanya berisi piksel warna hijau
blue=gambar(:,:,3); %memanggil matriks gambar yang hanya berisi piksel warna biru
gray2=0.3*red+0.5*green+0.2*blue ;
imshow(gambar)
imshow(gray2)

Dan Inilah hasilnya :

Sebelum


Sesudah

Ekstraksi Nilai Piksel Red, Green dan Blue (RGB) pada Matlab

Hampir setiap pengolahan citra yang berbasis warna perlu dilakukan pemisahan band-band yang ada pada citra khususnya citra RGB, MATLAB menyediakan fasilitas yang cukup baik dalam memisahkan ketiga warna RGB, yaitu sebagai berikut:

gambar=imread('PDPI.png'); %--------membaca file gambar
red=gambar(:,:,1); %memanggil matriks gambar yang hanya berisi piksel warna merah
green=gambar(:,:,2);% memanggil matriks gambar yang hanya berisi piksel warna merah
blue=gambar(:,:,3); %memanggil matriks gambar yang hanya berisi piksel warna merah
%----------menampilkan gambar---------------------
imshow(gambar)
imshow(red)
imshow(green)
imshow(blue)


Terlihat bahwa untuk mengambil nilai piksel merah memiliki indeks 1, warna hijau memiliki indeks 2 dan warna biru memiliki indeks 3.

Dan inilah hasilnya:

RGB
Red

Green

Blue

Cara Membaca dan Menampilkan File Citra di Matlab

Pada matlab fungsi untuk melakukan pembacaan image standar yaitu:

imread(‘filename’)
Perintah ini digunakan untuk membaca beberapa format file diantaranya:

Hasil dari pembacaan imread(‘filename’) bisa berupa 1 matriks dua dimensi jika gambar yang dibaca
adalah gambar grayscale dan 3 matrik dua dimensi jika berupa gambar berwarna.

Nah, untuk menampilkan gambar yang telah dibaca di Matlab, menggunakan fungsi :
imshow(nama_matriks)

Agar bisa dibaca dan ditampilkan, maka file citra harus berada pada direktori yang sedang aktif. Sebagai contoh, akan ditampilkan file 'gunung.jpg' pada matlab :
matrik=imread('gunung.jpg');
imshow(matrik)