Anda di halaman 1dari 20

I.

TEORI

1.1 Representasi Citra Digital

Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari suatu
objek. Citra terbagi 2 yaitu ada citra yang bersifat analog dan ada citra yang bersifat
digital. Citra analog adalah citra yang bersifat kontinu seperti gambar pada monitor
televisi, foto sinar X, hasil CT scan dll. Sedangkan pada citra digital adalah citra yang
dapat diolah oleh computer.
Sebuah citra digital dapat mewakili oleh sebuah matriks yang terdiri dari M
kolom N baris, dimana perpotongan antara kolom dan baris disebut piksel (piksel =
picture element), yaitu elemen terkecil dari sebuah citra. Piksel mempunyai dua
parameter, yaitu koordinat dan intensitas atau warna. Nilai yang terdapat pada
koordinat (, ) adalah (, ), yaitu besar intensitas atau warna dari piksel di titik
itu.Oleh sebab itu, sebuah citra digital dapat ditulis dalam bentuk matriks berikut.

Berdasarkan gambaran tersebut, secara matematis citra digital dapat


dituliskan sebagai fungsi intensitas (, ), dimana harga x (baris) dan y (kolom)
merupakan koordinat posisi dan (, ) adalah nilai fungsi pada setiap titik (, )
yang menyatakan besar intensitas citra atau tingkat keabuan atau warna dari piksel
di titik tersebut. Pada proses digitalisasi (sampling dan kuantitas) diperoleh besar
baris M dan kolom N hingga citra membentuk matriks M x N dan jumlah tingkat
keabuan piksel G.
Pengolahan citra digital adalah sebuah disiplin ilmu yang mempelajari halhal
yang berkaitan dengan perbaikan kualitas gambar (peningkatan kontras,
transformasi warna, restorasi citra), transformasi gambar (rotasi, translasi, skala,
transformasigeometrik), melakukan pemilihan citra ciri (feature images) yang optimal
untuk tujuan analisis, melakukan proses penarikan informasi atau deskripsi objek
atau pengenalan objek yang terkandung pada citra, melakukan kompresi atau
reduksi data untuk tujuan penyimpanan data, transmisi data, dan waktu proses data.
Input dari pengoalahan citra adalah citra, sedangkan outputnya adalah citra hasil
pengolahan.

1
1.2 Gambar Sebagai Matriks
Matriks adalah kumpulan bilangan- bilangan yang disusun dalam larik baris
dan kolom. Umumnya matriks diberi notasi huruf kapital A, B,....
Jika matriks A terdiri dari m baris dan n kolom (sering disebut ordo mxn), maka dapat
ditulis sebagai :

Perhatikan bahwa matriks yang terdiri dari 1 kolom sama dengan vektor.
1.3 Resolusi Citra
Resolusi citra merupakan tingkat detailnya suatu citra. Semakin tinggi
resolusinya semakin tinggi pula tingkat detail dari citra tersebut. Menurut T,Sutoyo
ada dua jenis resolusi yang perlu diketahui, yaitu :
1.3.1. Resolusi Spasial
Resolusi spasial ini merupakan ukuran halus atau kasarnya pembagian kisikisi
baris dan kolom pada saat sampling.Resolusi ini dipakai untuk menentukan jumlah
pixel per satuan panjang. Biasanya satuan resolusi ini adalah dpi (dot per inchi).
Resolusi ini sangat berpengaruh pada detail dan perhitungan gambar.
1.3.2 Resolusi kecemerlangan
Resolusi kecemerlangan (intensitas/ brightness) atau biasanya disebut
dengan kedalaman bit/ kedalaman warna (Bit Depth) adalah ukuran halus kasarnya
pembagian tingkat gradasi warna saat dilakukan kuantisasi. Bit Depth menentukan
berapa banyak informasi warna yang tersedia untuk ditampilkan dalam setiap piksel.
Semakin besar nilanya, semakin bagus kualitas gambar yang dihasilkan dan tentu
ukuran juga semakin besar.
1.4 Citra warna (True Colour)
Setiap piksel pada citra warna mewakili warna yang merupakan kombinasi
dari tiga warna dasar (RGB = Red Green Blue). Setiap warna dasar menggunakan
penyimpanan 8 bit = 1 byte, yang berarti mempunyai gradasi sebanyak 255 warna
berarti setiap piksel mempunyai kombinasi warna sebanyak 28. 28. 28 = 224 = 16
. Penyimpanan citra true color didalam memori berbeda dengan citra
grayscale. Setiap piksel dari citra grayscale 256 gradasi warna diwakili oleh 1 byte.
Sedangkan 1 piksel citra true color diwakili oleh 3 byte yang masing- masing byte
merepresentasikan warna merah (Red), hijau (Green), biru (Blue) (T, Sutoyo et
al.2009: 22).
1.5 Citra warna (24 bit)
Setiap pixel dari citra warna 24 bit diwakili dengan 24 bit sehingga total
16.777.216 variasi warna. Variasi ini sudah lebih dari cukup untuk memvisualisasikan

2
seluruh warna yang dapat dilihat penglihatan manusia. Penglihatan manusia
dipercaya hanya dapat membedakan hingga 10 juta warna saja.
Setiap poin informasi pixel (RGB) disimpan kedalam 1 byte data. 8 bit pertama
menyimpan nilai biru, kemudian diikuti dengan nilai hijau pada 8 bit kedua dan 8 bit
terakhir merupakan warna merah.
1.6 Format File Citra
Sebuah format file citra harus dapat menyatukan kualitas citra, ukuran file dan
kompabilitas dengan berbagai aplikasi. Format file citra standar yang digunakan saat
ini terdiri dari beberapa jenis. Format- format ini digunakan untuk menyimpan citra
dalam sebuah file. Setiap format memiliki karakteristik masing- masing. Ini adalah
contoh format umum, yaitu : Bitmap (.bmp), tagged image format (.tif, .tiff), Portable
Network Graphics (.png), JPEG (.jpg), dll.
Bahkan menurut Sutoyo,T.Mulyanto,E, ada dua jenis format file citra yang
sering digunakan dalam pengolahan citra, yaitu citra bitmap dan citra vektor. Pada
citra bitmap ini sering disebut juga citra raster. Citra bitmap ini menyimpan data kode
citra secara digital dan lengkap (cara penyimpanannya adalah per piksel). Citra
bitmap ini dipresentasikan dalam bentuk matriks atau dipetakan dengan
menggunakan bilangan biner atau sistem bilangan yang lain. Citra ini memiliki
kelebihan untuk memanipulasi warna, tetapi untuk mengubah objek lebih sulit.
Tampilan bitmap mampu menunjukkan kehalusan gradasi bayangan dan warna dari
sebuah gambar. Tetapi bila tampilan diperbesar maka tampilan di monitor akan
tampak pecah-pecah (kualitas citra menurun). Contoh format file citra antara lain
adalah BMP, GIFF, TIF, WPG, IMG, dll. Sedangkan pada format file citra vektor
merupakan citra vektor yang dihasilkan dari perhitungan matematis dan tidak
terdapat piksel, yaitu data yang tersimpan dalam bentuk vektor posisi, dimana yang
tersimpan hanya informasi vektor posisi dengan bentuk sebuah fungsi. Pada citra
vektor, mengubah warna lebih sulit dilakukan, tetapi membentuk objek dengan cara
mengubah nilai lebih mudah. Oleh karena itu, bila citra diperbesar atau diperkecil,
kualitas citra relatif tetap baik dan tidak berubah. Citra vektor biasanya dibuat
menggunakan aplikasi- aplikasi citra vektor seperti CorelDRAW, Adobe Illustrator,
Macromedia Freehand, Autocad, dll.

3
2 Matlab

MATLAB adalah sebuah bahasa dengan (high-performance) kinerja tinggi untuk


komputasi masalah teknik. Matlab mengintegrasikan komputasi, visualisasi, dan
pemrograman dalam suatu model yang sangat mudah untuk pakai dimana masalah-
masalah dan penyelesaiannya diekspresikan dalam notasi matematika yang familiar.
Penggunaan Matlab meliputi bidangbidang:
Matematika dan Komputasi
Pembentukan Algorithm
Akusisi Data
Pemodelan, simulasi, dan pembuatan prototipe
Analisa data, explorasi, dan visualisasi
Grafik Keilmuan dan bidang Rekayasa

MATLAB merupakan suatu sistem interaktif yang memiliki elemen data dalam suatu
array sehingga tidak lagi kita dipusingkan dengan masalah dimensi. Hal ini
memungkinkan kita untuk memecahkan banyak masalah teknis yang terkait dengan
komputasi, kususnya yang berhubungan dengan matrix dan formulasi vektor, yang
mana masalah tersebut merupakan momok apabila kita harus menyelesaikannya
dengan menggunakan bahasa level rendah seperti Pascall, C dan Basic.

Nama MATLAB merupakan singkatan dari matrix laboratory. MATLAB pada awalnya
ditulis untuk memudahkan akses perangkat lunak matrik yang telah dibentuk oleh
LINPACK dan EISPACK. Saat ini perangkat MATLAB telah menggabung dengan
LAPACK dan BLAS library, yang merupakan satu kesatuan dari sebuah seni
tersendiri dalam perangkat lunak untuk komputasi matrix.

Dalam lingkungan perguruan tinggi teknik, Matlab merupakan perangkat standar


untuk memperkenalkan dan mengembangkan penyajian materi matematika,
rekayasa dan kelimuan. Di industri, MATLAB merupakan perangkat pilihan untuk
penelitian dengan produktifitas yang tingi, pengembangan dan analisanya.

Fitur-fitur MATLAB sudah banyak dikembangkan, dan lebih kita kenal dengan nama
toolbox. Sangat penting bagi seorang pengguna Matlab, toolbox mana yang
mandukung untuk learn dan apply technologi yang sedang dipelajarinya. Toolbox
toolbox ini merupakan kumpulan dari fungsi-fungsi MATLAB (Mfiles) yang telah
dikembangkan ke suatu lingkungan kerja MATLAB untuk memecahkan masalah
dalam kelas particular. Area-area yang sudah bisa dipecahkan dengan toolbox saat
ini meliputi pengolahan sinyal, system kontrol, neural networks, fuzzy logic, wavelets,
dan lain-lain.

4
Kelengkapan pada Sistem MATLAB

Sebagai sebuah system, MATLAB tersusun dari 5 bagian utama:


1. Development Environment. Merupakan sekumpulan perangkat dan fasilitas
yang membantu anda untuk menggunakan fungsi-fungsi dan file-file MATLAB.
Beberapa perangkat ini merupakan sebuah graphical user interfaces (GUI).
Termasuk didalamnya adalah MATLAB desktop dan Command Window,
command history, sebuah editor dan debugger, dan browsers untuk melihat
help, workspace, files, dan search path.
2. MATLAB Mathematical Function Library. Merupakan sekumpulan algoritma
komputasi mulai dari fungsi-fungsi dasar sepertri: sum, sin, cos, dan complex
arithmetic, sampai dengan fungsifungsi yang lebih kompek seperti matrix
inverse, matrix eigenvalues, Bessel functions, dan fast Fourier transforms.
3. MATLAB Language. Merupakan suatu high-level matrix/array language
dengan control flow statements, functions, data structures, input/output, dan
fitur-fitur object-oriented programming. Ini memungkinkan bagi kita untuk
melakukan kedua hal baik "pemrograman dalam lingkup sederhana " untuk
mendapatkan hasil yang cepat, dan "pemrograman dalam lingkup yang lebih
besar" untuk memperoleh hasil-hasil dan aplikasi yang komplek.
4. Graphics. MATLAB memiliki fasilitas untuk menampilkan vector dan matrices
sebagai suatu grafik. Didalamnya melibatkan high-level functions (fungsi-
fungsi level tinggi) untuk visualisasi data dua dikensi dan data tiga dimensi,
image processing, animation, dan presentation graphics.
Ini juga melibatkan fungsi level rendah yang memungkinkan bagi anda untuk
membiasakan diri untuk memunculkan grafik mulai dari benutk yang
sederhana sampai dengan tingkatan graphical user interfaces pada aplikasi
MATLAB anda.
5. MATLAB Application Program Interface (API). Merupakan suatu library
yang memungkinkan program yang telah anda tulis dalam bahasa C dan
Fortran mampu berinterakasi dengan MATLAB. Ini melibatkan fasilitas untuk
pemanggilan routines dari MATLAB (dynamic linking), pemanggilan MATLAB
sebagai sebuah computational engine, dan untuk membaca dan menuliskan
MAT-files.

5
II. KEGIATAN DAN PENJELASAN

A. Some Basic Topics

1. Create Vektor

a.

Perintah ini berguna untuk membuat vector A dengan nilai [1 2 3 4 5 6 9 8 7]

b.

Membuat Vektor dengan nilai 0 sampai 20 dengan penabahan 2

c.

Vektor B merupakan penjumlahan nilai vector a ditambah dengan 2

d.

Vektor C adalah hasil penjumlahan vector a + vector b

6
2. Create mathematic function
a.

Perintah ini merupakan fungi untuk menghitung nilai sin(pi /4 )

b.

Nilai sinus (pi/6) dimasukkan ke dalam variable y

c.

Nilai variable y didapat dari nilai Asinus (0.5)

3. Equations
Variabel yang memiliki nilai

a. Menghitung persamaan matematik m=4x2+3y+10

7
b. Menghitung persamaan matematik n=e2x+x

c. menghitung persamaan matematik 1 1


O = (+) + (+)

Menghitung persamaan P = 4e-x/2sin()


d. Hasil 1.6223e-023 di dapat dari

8
4. Read and Display an image

I=imread // Membaca gambar pout.tif nama gambar yang dibaca


Imshow() berfungsi untuk Menampilkan gambar yang dibaca.

5. CHECK THE IMAGE IN MEMORY

Whos Menampilkan informasi tentang gambar yang telah gigunakan sebelumnya


beserta ukuranya.

9
6. PERFORM HISTOGRAM EQUALIZATION

I2= histeq(i); // membaca histogram dari gambar i yaitu (pout.tif)


Figure, imshow(i2); // menampilan gambar baru dengan figure i2
Figure imhist(i2) ; // menmpilkan histogram dari gambar yang sudah dibaca sebelumnya

7. WRITE THE IMAGE

Menyimpan gambar dengan nama pout2.png

8. Iminfo berguna Mengecek info dari fie yang baru di simpan pada langkah
sebelumnya

10
B. Advanced Topics

clear, close all // membersihkan variable pada memori dan menutup semua jendela gambar
I = imread('img/rice.png') // membaca gambar rice.png
figure, imshow(I) // menampilkan citra(I)

background = imopen(I,strel('disk',15)) //imopen membuat citra yang dekat


dengan warna putih menjadi warna hitam kebalikan dari imclose, dan strel
(__,__) membuat blur disekitar daerah yang terseleksi imopen.
figure, imshow(background) // menampilkan citra (background)

figure,surf(double(background(1:8:end,1:8:end))),zlim([0 255]);
set(gca,'ydir','reverse');

I2 = imsubtract(I,background); // mengurangkan citra I dengan citra background


figure, imshow(I2)

I3 = imadjust(I2, stretchlim(I2), [0 1]); //menyesuaikan gambar I2 agar lebih


didapatkan citra yang kuat
figure, imshow(I3)

level = graythresh(I3); mendapatkan citra hitam putih 0 1


bw = im2bw(I3,level);
figure, imshow(bw) menampilkan gambar

Hasilnya

11
C. Image arithmetic

1. Adding Images (Menjumlahkan)


I = imread('img/rice.png');
J = imread('img/cameraman.tif');
K = imadd(I,J);
figure, imshow(K)

RGB = imread('img/flowers.jpg');
RGB2 = imadd(RGB,50); // operasi penambahan sebanyak 50

figure,
subplot(1,2,1); imshow(RGB); menampilkan gambar dalam matriks
suplot dengan ukuran 1x2 dan pada posisi pertama(1)
subplot(1,2,2); imshow(RGB2); menampilkan gambar dalam matriks
suplot dengan ukuran 1x2 dan pada posisi pertama(2)

12
2. Subtracting Images (Mengurangkan)

rice = imread('img/rice.png');
background = imopen(rice, strel('disk',15)); //imopen membuat citra
yang dekat dengan warna putih menjadi warna hitam kebalikan dari
imclose, dan strel (__,__) membuat blur disekitar daerah yang
terseleksi imopen.

rice2 = imsubtract(rice,background);

figure,imshow(rice)
figure,imshow(rice2);

Z=imsubtract(I,50);

3. Multiplying Images (Mengalikan)

I = imread('img/moon.tif')
J = immultiply(I,1.2); // mengalikan citra I(moon.tif) dengan angka
1.2
imshow(I);
figure, imshow(J)

13
4. Dividing Images (Membagi)

I = imread('img/rice.png'); // membaca citra rice.png


background = imopen(I, strel('disk', 15)); //imopen membuat citra
yang dekat dengan warna putih menjadi warna hitam kebalikan dari
imclose, dan strel (__,__) membuat blur disekitar daerah yang
terseleksi imopen.

Ip = imdivide(I, background); membagi gambar I dengan backgound


yang telah dibuat

figure,imshow(Ip, [])

I = imread('img/rice.png');
I2 = imread('img/cameraman.tif');

K = imdivide(imadd(I,I2), 10); melakukan pembagian citra penambahan


antara I dan I2 kemudian dibagi dengan 10
figure, imshow(K)

K = imlincomb(.5,I,.5,I2); // idont know


figure, imshow(K)

14
D. Coordinate System

[1 size(A,1)];
A = magic(5);
x = [19.5 23.5]; // ukuran titik kordinat pada sumbu X
y = [8.0 12.0]; // ukuran titik kordinat pada sumbu Y
image(A,'XData',x,'YData',y), axis image, colormap(jet(25));

Ket: digunakan untuk membentuk titik kordinat dari sebuah gamba


dengan titik kordinat Y dan X dengan ukuran yang telah ditentukan.

E. Special Display Techniques


i=imread('saturn.png');
RGB = imread('saturn.png');
I = rgb2gray(RGB);
h = [1 2 1; 0 0 0; -1 -2 -1];
I2 = filter2(h,I);
imshow(I2,'DisplayRange',[]), colorbar

Ket:
Untuk menampilkan gambar dengan colorbar yang menunjukkan rentang nilai intensitas, pertama
menggunakan fungsi imshow untuk menampilkan gambar dalam jendela gambar MATLAB dan
kemudian memanggil fungsi colorbar untuk menambahkan colorbar untuk gambar.
Untuk menampilkan gambar dengan colorbar yang menunjukkan rentang nilai intensitas, pertama
menggunakan fungsi imshow untuk menampilkan gambar dalam jendela gambar MATLAB dan
kemudian memanggil fungsi colorbar untuk menambahkan colorbar untuk gambar.

15
mri = uint8(zeros(128,128,1,27));
for frame=1:27
[mri(:,:,:,frame),map] = imread('mri.tif',frame);
end
imshow(mri(:,:,:,3),map);
Ket :
//digunakan untuk membaca file mri dengan frame 1:27 dan file
mri.tif dan kemudian menampilkanya dalam bentuk gambar.

16
- Analyzing Images

I = imread('img/coins.png'); //membaca gambar coins.png


imshow(I) // menampilkan citra(I)

%apply the sobel and canny edge detectors to the image and display
them.
BW1 = edge(I, 'sobel'); // melakukan deteksi tepi sobel
BW2 = edge(I, 'canny'); // melakukan deteksi tepi canny
imshow(BW1) // menampilkan citra BW1
figure, imshow(BW2) // menampilkan citra BW2

%tracing object boundaries in an image


I = imread('img/coins.png'); // membaca gambar coins.png
imshow(I) menampilkan citra(I)

BW = im2bw(I); // memproses citra I menjadi black and white


imshow(BW) // menampilkan citra I yang telah diolah menjadi bw

dim = size(BW) // mendapatkan ukuran dimensi pada citra


col = round(dim(2)/2-90); //round untuk membulatkan bilangan trdkt
row = min(find(BW(:,col))) // menentukan nilai terkecil pada array
citra

imshow(I) // menampilkan citra(I)

boundary = bwtraceboundary(BW, [row,col],'N'); // menentukan garis /


trace pada object

hold on; // menunggu proses


plot(boundary(:,2),boundary(:,1),'g','LineWidth',3); //menggambarkan
grafik

BW_filled = imfill(BW,'holes'); //rekonstruksi citra


boundaries = bwboundaries(BW_filled) // mendeteksi garis batas tepi
pada objek

for k = 1:10
b = boundaries{k};
plot(b(:,2),b(:,1),'g','LineWidth',3);
end

menggambarkan garis tepi yang telah diseleksi

17
- Detecting Lines Using the Hough Transform
I = imread('img/circuit.tif'); // membaca citra
rotI = imrotate(I,33,'crop'); // merotasi citra 33 derajat ke kiri
figI = imshow(rotI); // menampilkan citra

BW = edge(rotI,'canny'); // deteksi tepi canny


figure, imshow(BW); // menampilkan citra(BW)

- Analyzing the Texture of an Image

I = imread('img/eight.tif'); // membaca citra eight.tif


imshow(I) // menampilkan citra(I)
K = rangefilt(I); // menentukan batas maksimum dan minimum value
pada citra sehingga menghasilkan garis objek
figure, imshow(K) // menampilkan citra(K)

18
F. Deblurring

I = imread ('dolpin.jpg'); / membaca gambar (dolpin)


I = I(60+[1:256],222+[1:256],: ); // memotong/crop gambar
figure; imshow(I); title('Original Image'); // menampilkan gambar asli

LEN = 31; // mengatur Len Dari gambar


THETA = 11; // mengatur theta dari gambar
PSF = fspecial ('motion',LEN,THETA); // membuat blur citra
Blurred = imfilter (I, PSF, 'circular', 'conv'); // membuat blur citra
figure; imshow (Blurred);title('Blurred Image'); // menampilkan citra yang
sudah diblur merubah

Hasil gambar yang di crop

Hasil gambar yang di blur

19
III KESIMPULAN

- Gambar/ Citra digital merupakan susunan value (nilai) yang isinya adalah matriks,
sehingga sangat dapat memungkinkan untuk melakukan analisa terhadap
gambar/citra digital.

- Bentuk gambar RGB memiliki 3 channel yaitu warna Merah (Red), warna Hijau
(Green, dan) warna Biru (Blue). Dan warna pada tiap-tiap pixel tersebut
merupakan perpaduan antara 3 channel tersebut.

- MATLAB merupakan bahasa komputasi yang memilki banyak sekali fungsi built-
in berkaitan dengan matrik dan persamaan-persamaan yang biasa digunakan
pada bidang tertentu sehingga sangat memudahkan pengguna untuk melakukan
pemrograman sehingga pengguna tidak terlalu dipusingkan dengan logika
pemrograman dan lebih fokus terhadap logika penyelesaian masalah yang
dihadapi.

- Algorima yang biasa dipakai dalam pengolahan citra adalah:


Algoritma berbasis histogram
Peregangan Kontras
Ekualisasi histogram
Filter Minimum
Filter Median
Filter Maksimum
Algoritma berbasis matematika
Biner
Operasi ini berbasis operasi boolean (AND,OR,NOT) untuk memanipulasi
citra
Aritmetika
Operasi ini berbasis operasi Aritmatika ( penjumlahan, pengurangan,
perkalian dan pembagian citra)
Geometri
Algoritma berbasis konvolusi
Algoritma berbasis penurunan
Algoritma berbasis morfologi
-

20

Anda mungkin juga menyukai