Anda di halaman 1dari 14

PENDAHULUAN

Pengolahan Citra
Pengertian pengolahan citra digital??
Citra digital merupakan representasi dari fungsi intensitas cahaya dalam bentuk diskrit pada
bidang dua dimensi. Citra tersusun oleh sekumpulan piksel (picture element) yang memiliki
koordinat (x,y) dan amplitudo f(x,y).

Koordinat (x,y) menunjukkan letak/posisi piksel dalam suatu citra, sedangkan amplitudo f(x,y)
menunjukkan nilai intensitas warna citra.

Representasi citra digital beserta piksel penyusunnya ditunjukkan pada Gambar 1.

Gambar 1. Citra dan piksel penyusunnya

Pada umumnya, berdasarkan kombinasi warna pada piksel, citra dibagi menjadi tiga jenis yaitu citra
RGB, citra grayscale, dan citra biner.

Citra pada Gambar 1 termasuk dalam jenis citra RGB truecolor 24-bit.

Citra tersebut tersusun oleh tiga kanal warna yaitu kanal merah, kanal hijau, dan kanal biru.

Masing-masing kanal warna memiliki nilai intensitas piksel dengan kedalaman bit sebesar 8-bit yang
artinya memiliki variasi warna sebanyak 2^8 derajat warna (0 s.d 255).
Pada kanal merah, warna merah sempurna direpresentasikan dengan nilai 255 dan hitam sempurna
dengan nilai 0. Pada kanal hijau, warna hijau sempurna direpresentasikan dengan nilai 255 dan
hitam sempurna dengan nilai 0. Begitu juga pada kanal biru, warna biru sempurna direpresentasikan
dengan nilai 255 dan hitam sempurna dengan nilai 0.

Perintah yang digunakan untuk merepresentasikan citra RGB beserta masing-masing kanal warna
nya yaitu:

clc; % Membersihkan layar


clear all; % Membersihkan semua simpanan nilai
close all; % Menutup semua gambar
I = imread('peppers.png');
R = I(:,:,1);
G = I(:,:,2);
B = I(:,:,3);
Red = cat(3,R,G*0,B*0);
Green = cat(3,R*0,G,B*0);
Blue = cat(3,R*0,G*0,B);
figure
subplot(2,2,1); imshow(I); title('Gambar RGB full warna')
subplot(2,2,2); imshow(Red); title('Gambar warna merah')
subplot(2,2,3); imshow(Green); title('Gambar warna hijau')
subplot(2,2,4); imshow(Blue); title('Gambar warna biru')
Gambar 2. Citra
a).RGB full warna b).Kanal warna merah c).Kanal warna hijau d).Kanal warna biru

Setiap piksel pada citra RGB, memiliki intensitas warna yang merupakan kombinasi dari tiga nilai
intensitas pada kanal R, G, dan B.
Sebagai contoh, suatu piksel yang memiliki nilai intensitas warna sebesar 255 pada kanal merah,
255 pada kanal hijau, dan 0 pada kanal biru akan menghasilkan warna kuning.
Pada contoh lain, suatu piksel yang memiliki nilai intensitas warna sebesar 255 pada kanal merah,
102 pada kanal hijau, dan 0 pada kanal biru akan menghasilkan warna orange.
Banyaknya kombinasi warna piksel yang mungkin pada citra RGB truecolor 24-bit adalah sebanyak
256 x 256 x 256 = 16.777.216.
Representasi piksel dengan kombinasi warna R, G, dan B ditunjukkan pada Gambar 3.

Gambar 3. Representasi piksel dengan kombinasi warna R, G, dan B

Jenis citra yang kedua adalah citra grayscale. Citra grayscale merupakan citra yang nilai intensitas
pikselnya didasarkan pada derajat keabuan.

Pada citra grayscale 8-bit, derajat warna hitam sampai dengan putih dibagi ke dalam 256 derajat
keabuan di mana warna putih sempurna direpresentasikan dengan nilai 255 dan hitam sempurna
dengan nilai 0.

Citra RGB dapat dikonversi menjadi citra grayscale.

Persamaan yang umumnya digunakan untuk mengkonversi citra RGB truecolor 24-bit menjadi
citra grayscale 8-bit adalah

0.2989*R+0.5870*G+0.1140*B (1)
sehingga proses konversi menghasilkan citra grayscale yang hanya memiliki satu kanal warna.

Perintah yang digunakan dalam proses konversi citra RGB menjadi citra grayscale yaitu:

J = rgb2gray(I);

figure, imshow(J);

Citra hasil konversi ditunjukkan pada Gambar 4.b.

Jenis citra yang ketiga adalah citra biner. Citra biner adalah citra yang pikselnya memiliki
kedalaman bit sebesar 1 bit sehingga hanya memiliki dua nilai intensitas warna yaitu 0 (hitam) dan
1 (putih).

Citra grayscale dapat dikonversi menjadi citra biner melalui proses thresholding.

Dalam proses thresholding, dibutuhkan suatu nilai threshold sebagai nilai pembatas konversi.

Nilai intensitas piksel yang lebih besar atau sama dengan nilai threshold akan dikonversi menjadi 1.

Sedangkan nilai intensitas piksel yang kurang dari nilai threshold akan dikonversi menjadi 0.

Misalnya nilai threshold yang digunakan adalah 128, maka piksel yang mempunyai intensitas kurang
dari 128 akan diubah menjadi 0 (hitam) dan yang lebih dari atau sama dengan 128 akan diubah
menjadi 1 (putih).

Dalam MATLAB nilai threshold diatur dalam kelas data double, sehingga untuk mengatur
nilai threshold 128, nilai yang digunakan adalah 128/256 = 0.5.

Perintah yang digunakan dalam proses konversi citra grayscale menjadi citra biner yaitu:

K = im2bw(J,0.5);

figure, imshow(K);

Citra hasil konversi ditunjukkan pada Gambar 4.c..

Thresholding pada umumnya digunakan dalam proses segmentasi citra.

Proses tersebut dilakukan untuk memisahkan antara foreground (objek yang dikehendaki)
dengan background (objek lain yang tidak dikehendaki).
Pada hasil segmentasi, foreground direpresentasikan oleh warna putih (1) dan background
direpresentasikan oleh warna hitam (0).

Pada kasus segmentasi pada satu citra saja, kita dapat menentukan nilai threshold dengan
metode trial and error.

Namun pada kasus segmentasi pada citra dengan jumlah yang banyak, dibutuhkan suatu metode
untuk menentukan nilai threshold secara otomatis.

Nilai threshold dapat diperoleh secara otomatis dengan menggunakan metode Otsu (1979).

Perintah yang digunakan untuk thresholding menggunakan metode Otsu yaitu:

L = graythresh(J);

M = im2bw(J,L);

figure, imshow(M);

Berikut adalah scriptnya

clc; % Membersihkan layar


clear all; % Membersihkan semua simpanan nilai
close all; % Menutup semua gambar

I = imread('peppers.png');
J = rgb2gray(I); % Mengubah gambae warna menjadi derajat abu2
K = im2bw(J,0.5); % Mengubah gambae warna menjadi derajat hitam
putih
L = graythresh(J); % Menghitung treshold citra
M = im2bw(J,L); % Mengubah gambar abu2 dgn metode
thresholding

figure
subplot(2,2,1); imshow(I); title('Gambar RGB full warna')
subplot(2,2,2); imshow(J); title('konversi RGB ke warna abu2')
subplot(2,2,3); imshow(K); title('konversi grayscale ke hitam putih')
subplot(2,2,4); imshow(M); title('hasil treshold metode OTSU')

Citra yang dihasilkan ditunjukkan pada Gambar 4.d.


Gambar 4. Citra
a).RGB full warna b).hasil koncersi RGB ke grayscale c).Hasil kkonversi grayscale ke black &
white d). Hasil kkonversi grayscale ke black & white metode OTSU

Sedangkan pengertian pengolahan citra digital adalah bidang ilmu yang mempelajari tentang
bagaimana suatu citra itu dibentuk, diolah, dan dianalisis sehingga menghasilkan informasi yang
dapat dipahami oleh manusia.

Project pengolahan citra digital dapat dilakukan dengan mengimplementasikan dan


mengembangkan metode pengolahan citra yang sudah ada maupun metode pengolahan citra
terbaru sehingga diperoleh suatu sistem pengolahan citra yang baik
BAB I
Pengolahan Citra Digital
Pengolahan Citra Digital (Digital Image Processing) merupakan bidang ilmu yang mempelajari
tentang bagaimana suatu citra itu dibentuk, diolah, dan dianalisis sehingga menghasilkan informasi
yang dapat dipahami oleh manusia.

Sebelum mempelajari lebih lanjut mengenai pengolahan citra digital, kita perlu mengetahui definisi
dari citra itu terlebih dahulu.

Citra merupakan fungsi dari intensitas cahaya yang direpresentasikan dalam bidang dua dimensi.

Berdasarkan bentuk sinyal penyusunnya, citra dapat digolongkan menjadi dua jenis yaitu citra
analog dan citra digital. Citra analog adalah citra yang dibentuk dari sinyal analog yang bersifat
kontinyu, sedangkan citra digital adalah citra yang dibentuk dari sinyal digital yang bersifat diskrit.

Citra analog dihasilkan dari alat akuisisi citra analog, contohnya adalah mata manusia dan kamera
analog. Gambaran yang tertangkap oleh mata manusia dan foto atau film yang tertangkap oleh
kamera analog merupakan contoh dari citra analog. Citra tersebut memiliki kualitas dengan tingkat
kerincian (resolusi) yang sangat baik tetapi memiliki kelemahan di antaranya adalah tidak dapat
disimpan, diolah, dan diduplikasi di dalam komputer.

Citra digital merupakan representasi dari fungsi intensitas cahaya dalam bentuk diskrit pada bidang
dua dimensi. Citra tersusun oleh sekumpulan piksel (picture element) yang memiliki koordinat (x,y)
dan amplitudo f(x,y). Koordinat (x,y) menunjukkan letak/posisi piksel dalam suatu citra, sedangkan
amplitudo f(x,y) menunjukkan nilai intensitas warna citra. Representasi citra digital beserta piksel
penyusunnya ditunjukkan pada Gambar 1 berikut ini.
Gambar 1. Citra dan piksel penyusunnya
Pada umumnya, berdasarkan kombinasi warna pada piksel, citra dibagi menjadi tiga jenis yaitu citra
RGB, citra grayscale, dan citra biner. Citra pada Gambar 1 termasuk dalam jenis citra RGB
truecolor 24-bit. Citra tersebut tersusun oleh tiga kanal warna yaitu kanal merah, kanal hijau, dan
kanal biru.

Masing-masing kanal warna memiliki nilai intensitas piksel dengan kedalaman bit sebesar 8-bit yang
artinya memiliki variasi warna sebanyak 2^8 derajat warna (0 s.d 255).

Pada kanal merah, warna merah sempurna direpresentasikan dengan nilai 255 dan hitam sempurna
dengan nilai 0. Pada kanal hijau, warna hijau sempurna direpresentasikan dengan nilai 255 dan
hitam sempurna dengan nilai 0. Begitu juga pada kanal biru, warna biru sempurna direpresentasikan
dengan nilai 255 dan hitam sempurna dengan nilai 0.

Perintah MATLAB untuk menampilkan citra digital dan masing-masing kanal penyusunnya adalah
sebagai berikut:

clc;
clear;
close all;
warning off all;

I = imread('lena_color_225.jpg');
Red = I(:,:,1);
Green = I(:,:,2);
Blue = I(:,:,3);
I_Red = cat(3,Red,Green*0,Blue*0);
I_Green = cat(3,Red*0,Green,Blue*0);
I_Blue = cat(3,Red*0,Green*0,Blue);

figure
subplot(2,2,1); imshow(I); title('Gambar RGB full warna')
subplot(2,2,2); imshow(I_Red); title('Gambar warna merah')
subplot(2,2,3); imshow(I_Green); title('Gambar warna hijau')
subplot(2,2,4); imshow(I_Blue); title('Gambar warna biru')

Representasi citra RGB dan masing-masing kanal warna penyusunnya ditunjukkan pada Gambar 2.

Citra
a).RGB full warna b).Kanal warna merah c).Kanal warna hijau d).Kanal warna biru

Setiap piksel pada citra RGB, memiliki intensitas warna yang merupakan kombinasi dari tiga nilai
intensitas pada kanal R, G, dan B. Sebagai contoh, suatu piksel yang memiliki nilai intensitas warna
sebesar 255 pada kanal merah, 255 pada kanal hijau, dan 0 pada kanal biru akan menghasilkan
warna kuning. Pada contoh lain, suatu piksel yang memiliki nilai intensitas warna sebesar 255 pada
kanal merah, 102 pada kanal hijau, dan 0 pada kanal biru akan menghasilkan warna orange.
Banyaknya kombinasi warna piksel yang mungkin pada citra RGB truecolor 24-bit adalah sebanyak
256 x 256 x 256 = 16.777.216. Representasi nilai intensitas piksel dengan kombinasi warna R, G, dan
B ditunjukkan pada Gambar 3.

Gambar 3. Representasi piksel dengan kombinasi warna R, G, dan B

Jenis citra yang kedua adalah citra grayscale. Citra grayscale merupakan citra yang nilai intensitas
pikselnya didasarkan pada derajat keabuan. Pada citra grayscale 8-bit, derajat warna hitam sampai
dengan putih dibagi ke dalam 256 derajat keabuan di mana warna hitam sempurna direpresentasikan
dengan nilai 0 dan putih sempurna dengan nilai 255. Citra RGB dapat dikonversi menjadi citra
grayscale sehingga dihasilkan hanya satu kanal warna. Persamaan yang umumnya digunakan untuk
mengkonversi citra RGB truecolor 24-bit menjadi citra grayscale 8-bit adalah

Grayscale = 0.2989*R + 0.5870*G + 0.1140*B

di mana

Grayscale adalah nilai intensitas citra grayscale,


R adalah nilai intensitas piksel pada kanal merah,
G adalah nilai intensitas piksel pada kanal hijau, dan
B adalah nilai intensitas piksel pada kanal biru.

Perintah MATLAB untuk mengkonversi citra RGB menjadi grayscale adalah:

1 I_Gray = rgb2gray(I);
2 figure, imshow(I_Gray);

Citra hasil konversi RGB menjadi grayscale ditunjukkan pada Gambar 4.b
Jenis citra yang ketiga adalah citra biner. Citra biner adalah citra yang pikselnya memiliki
kedalaman bit sebesar 1 bit sehingga hanya memiliki dua nilai intensitas warna yaitu 0 (hitam) dan
1 (putih). Citra grayscale dapat dikonversi menjadi citra biner melalui proses thresholding. Dalam
proses thresholding, dibutuhkan suatu nilai threshold sebagai nilai pembatas konversi. Nilai
intensitas piksel yang lebih besar atau sama dengan nilai threshold akan dikonversi menjadi 1.
Sedangkan nilai intensitas piksel yang kurang dari nilai threshold akan dikonversi menjadi 0. Misalnya
nilai threshold yang digunakan adalah 128, maka piksel yang mempunyai intensitas kurang dari 128
akan diubah menjadi 0 (hitam) dan yang lebih dari atau sama dengan 128 akan diubah menjadi 1
(putih).

Perintah MATLAB untuk mengkonversi citra grayscale menjadi citra biner adalah:

1 I_bw = im2bw(I_Gray);
2 figure, imshow(I_bw);

Citra hasil konversi grayscale menjadi biner ditunjukkan pada Gambar 4.c..

Thresholding pada umumnya digunakan dalam proses segmentasi citra. Proses tersebut dilakukan
untuk memisahkan antara foreground (objek yang dikehendaki) dengan background (objek lain yang
tidak dikehendaki). Pada hasil segmentasi, foreground direpresentasikan oleh warna putih (1) dan
background direpresentasikan oleh warna hitam (0). Pada kasus segmentasi pada satu citra saja,
kita dapat menentukan nilai threshold dengan metode trial and error. Namun pada kasus segmentasi
pada citra dengan jumlah yang banyak, dibutuhkan suatu metode untuk menentukan nilai threshold
secara otomatis. Nilai threshold dapat diperoleh secara otomatis dengan menggunakan metode Otsu
(1979).

Perintah MATLAB untuk melakukan thresholding dengan metode Otsu adalah:

1 thresh = graythresh(I_Gray);
2 I_bw_otsu = im2bw(I_Gray,thresh);
3 figure, imshow(I_bw_otsu);

Citra hasil thresholding menggunakan metode Otsu ditunjukkan pada Gambar 4.d.
Gambar 4. Citra
a). RGB warna b). hasil konversi RGB menjadi grayscale
c). hasil konversi grayscale menjadi biner d).hasil thresholding menggunakan metode Otsu

clc;
clear;
close all;
warning off all;

I = imread('lena_color_225.jpg');
J = rgb2gray(I); % Mengubah gambae warna menjadi derajat abu2
K = im2bw(J,0.5); % Mengubah gambae warna menjadi derajat hitam
putih
L = graythresh(J); % Menghitung treshold citra
M = im2bw(J,L); % Mengubah gambar abu2 dgn metode
thresholding

figure
subplot(2,2,1); imshow(I); title('Gambar RGB full warna')
subplot(2,2,2); imshow(J); title('konversi RGB ke warna abu2')
subplot(2,2,3); imshow(K); title('konversi grayscale ke hitam putih')
subplot(2,2,4); imshow(M); title('hasil treshold metode OTSU')
TUGAS 1

1. Install Matlab
2. Perkenalkan diri.
a. Masukkan foto Anda
b. Tampilkan foto full, Mata saja , Hidung saja dan Mulut saja
c. Tampilkan foto colorful/RGB, warna abu2, warna hitam putih, warna hitamputih metode
OTSU
d. Tampilkan foto colorful/RGB, warna merah saja, hijau saja, biru saja, kuning, oranye,
cyan, violet, turquoise, coklat, dan warna lain yang kamu ketahui)
e. Rekam suara Anda. Sebutkan nama, nim, kelas, alas an mengambil mengambil MK CITRA

% Tugas 1.
clc % Membersihkan layar
clear all % Membersihkan semua arsip / argumen
(sebelumnya) yg tersimpan
close all % Menutup semua gambar yg terbuka

%tugas 1.a. Tampilkan foto Anda


I = imread('ros.jpg'); % Membaca (pixel dan intensitas) foto
Anda

%tugas 1.b.
% Memotong citra cara 1. Memootong dari hasil running.
[I2, rect2] = imcrop(I); % Memotong citra rektangular(berbentuk
petak). Hasilnya tersimpan dlm I2.
[I3, rect3] = imcrop(I);
[I4, rect4] = imcrop(I);
% Memotong citra cara 2. Mrmotong dari input awal. Lokasi trial & Error.
Tentukan sendiri
I5 =
imcrop(I,[480.510000000000,367.510000000000,253.980000000000,47.9800000000000
]);% Memotong citra. lokasi ditentukan.
I6 = imcrop(I,rect3);
I7 = imcrop(I,rect4);

figure
subplot(2,2,1); imshow(I); title('Gambar RGB full')
subplot(2,2,2); imshow(I2); title('Mata')
subplot(2,2,3); imshow(I3); title('Hidung')
subplot(2,2,4); imshow(I4); title('Mulut')

figure
subplot(2,2,1); imshow(I); title('Gambar RGB full')
subplot(2,2,2); imshow(I5); title('Mata')
subplot(2,2,3); imshow(I6); title('Hidung')
subplot(2,2,4); imshow(I7); title('Mulut')

% Tugas 1.c.
J = rgb2gray(I); % Mengubah gambae warna menjadi derajat abu2
K = im2bw(J,0.5); % Mengubah gambae warna menjadi derajat hitam
putih
L = graythresh(J); % Menghitung treshold citra
M = im2bw(J,L); % Mengubah gambar abu2 dgn metode
thresholding

figure
subplot(2,2,1); imshow(I); title('Gambar RGB full warna')
subplot(2,2,2); imshow(J); title('konversi RGB ke warna abu2')
subplot(2,2,3); imshow(K); title('konversi grayscale ke hitam putih')
subplot(2,2,4); imshow(M); title('hasil treshold metode OTSU')

% Tugas 1.d. Silahkan ditambah utk berbagai warna yang lain. Lihay bahan
kuliah
R = I(:,:,1); % Menampilkan citra warna merah
G = I(:,:,2); % Menampilkan citra warna HIJAU
B = I(:,:,3); % Menampilkan citra warna biru
Red = cat(3,R,G*0,B*0);
Green = cat(3,R*0,G,B*0);
Blue = cat(3,R*0,G*0,B);

figure
subplot(2,2,1); imshow(I); title('Gambar RGB full warna')
subplot(2,2,2); imshow(Red); title('Gambar warna merah')
subplot(2,2,3); imshow(Green); title('Gambar warna hijau')
subplot(2,2,4); imshow(Blue); title('Gambar warna biru')

%tugas 1.e. Rekam suara Anda. Sebutkan nama dan NIM


recObj = audiorecorder % Mendefinisikan audiorecorder sbg media
input
disp('Start speaking.') % Menampilkan tulisan
recordblocking(recObj, 15); % Mulai merekam selama 10 detik. Silahkan
perkenalkan diri.
disp('End of Recording.');
play(recObj); % Mendengar suara
y = getaudiodata(recObj);
hold on
figure; plot(y); % Menampilkan data suara
hold off

Anda mungkin juga menyukai