Anda di halaman 1dari 24

LABWORK 1

Basic and Advanced Topic

Iwayan Restu Apriadi


1321211010

IBI Darmajaya
November 2014

I. TEORI

A.Beberapa Topik Dasar


Dalam beberapa topik dasar matlab meliputi membaca dan menampilkan gambar, menyesuaikan
kontras dan menyimpan ke drive.
Ada 5 teknik dalam pemrosesan gambar yang terdapat pada topik dasar ini yaitu:
1. Membaca dan menampilkan sebuah gambar.
Gunakan fungsi imread untuk membaca gambar, dan imshow untuk menampilkan gambar.
2. Memeriksa gambar yang disimpan dimemori
Setelah gambar dibaca oleh matlab, gambar secara otomatis akan tersimpan dalam memori
metlab, untuk memeriksanya gunakan fungsi whos
3. Menampilkan Histogram Equalization
dalam matlab juga mampu menampilkan sebaran histogram equalizartion dengan menggunakan
fungsi imhist, dan untuk menyebarkan sebaran histogramnya menggunakan fungsi histeq.
4.Menulis Gambar
untuk menyimpan (menulis kedalam disk) gambar pada matlab fungsi yang digunakan adalah
imwrite
5. Memeriksa isi gambar yang baru ditulis
untuk memeriksa informasi gambar yang baru ditulis (disimpan ke disk) gunakan fungsi mfinfo

B.Topik Lanjutan
Pada topik lanjutan ini beberapa fungsi dari perintah matlab yang akan ditemukan diantaranya
adalah:
1. Menggunakan pembukaan morfologis untuk membuat estimasi background
Dalam matlab ada fungsi yang dapat menampilkan hanya background suatu gambar saja,
gunakan perintah imopen untuk mlakukannya.
2. Menampilkan aproksimasi (mendekati, menyerupai) background seperti permukaan datar
gunakan perintah surf untuk menampilkan background menyerupai gelombang dengan
permukaan datar berwarna.
3. Mengembalikan gambar background menjadi gambar aslinya(semula)
Setelah suatu gambar melalui prsoses estimasi background (morfologis), hasil dari gambar
morfologis dapat di tampilkan kembali seperti gambar awal (asli), perintah yang digunakan
untuk melakukannya adalah imsubtract.
4.Mengatur konstras dari suatu gambar

perintah dalam matlab yang digunakan untuk mengatur kontras suatu gambar adalah imadjust.
5. menguji label matrik
Matlab memungkinkan untuk melihat matrik nilai pixel gambar. Perintah yang digunakan untuk
melakukannya adalah imcrop, pada kasus ini kita tentukan daerah gambar yang akan
ditampilkan matrik nilai pixelnya.

C.Menghitung Gambar
Dalam matlab memungkinkan untuk kita menambahkan gambar dengan gambar, disamping itu
kita juga dapat melakukan proses hitungan nilai pixel dari suatu gambar, sehingga tampilan hasil
gambar dapat menjadi lebih tajam maupun lebih redup.
ada beberapa fungsi yang akan digunakan pada tahap ini diantaranya:
1. imadd adalah fungsi yang digunakan untuk menambahkan suatu gambar baik dengan gambar
lainnya atau pun dengan suatu nilai pixel untuk setiap nilai pixel gambar.
2. imsubtract digunakan dalam matlab untuk mengurangi setiap nilai pixel gambar dengan suatu
nilai konstan, sehingga hasil gambar yang akan ditampilkan akan lebih gelap (redup) dari gambar
asli.
3. immultiply memungkinkan kita untuk mengalikan setiap pixel gambar dengan suatu nilai
konstanta, sehingga hasil gambar yang akan ditampilkan akan lebih tajam dari gambar asli.
4. imdivide merupakan fungsi yang digunakan untuk membagi setiap pixel gambar dengan suatu
nilai konstanta.

D.Sistem Koordinat
Pada matlab juga memungkinkan untuk memetakan setiap pixel kedalam koordinat yang akan
dibuat menjadi ukuran dengan tampilan blok blok warna.

E.Teknik Khusus dalam Menampilkan (gambar)


Teknik menampilkan suatu gambar pada matlab dapat juga dengan cara yang khusus seperti
menampilkan gambar dengan colorbar yang menunjukkan sebaran warna yang ada pada gambar,
fungsi yang digunakan untuk melakukannya adalah imshow (vg,[]),colorbar, catatan:
vg=variabel gambar.

II. KEGIATAN DAN PENJELASAN

A Topik Topik Dasar


1 Membaca dan menampilkan gambar.

clear, close all


digunakan untuk membersihkan ruang kerja MATLAB dari segala variabel dan menutup semua
jendela yang masih terbuka
I=imread(pout.tif);
digunaan untuk mendefinisikan variabel (I) sebagai gambar pout.tif atau gambar pout.tif dibaca
oleh matlab sebagai variabel (I).
show(I);
pada perintah diatas matlab tidak merespon. Tetapi jika perintahnya imshow(I) maka matlab
akan membuka dan menampilkan gambar pout.

2 memeriksa gambar pada memori


whos
digunakan untuk menampilkan bagaimana gambar yang sudah didefinisikan ke variabel (I) pada

memori.

3 menampilkan histogram equalization


figure, imhist(I)% display histogram of I in a new figure
jadi perintah figure, imhist(I) digunakan untuk menampilkan distribusi histogram dari variabel
(I), pada jendela fiqure baru tanpa menimpa gambar (I) yang sedang aktif.

I2=histeq(I);
histogram dari gambar (I) disebarkan secara otomatis dan di definisikan sebagai variabel (I2)
figure, imshow(I2);
digunakan untuk menampilkan gambar yang sudah didefinisikan dengan variabel (I2) pada
fiqure(jendela) baru.

terlihat gambar pout sekarang ditampilkan dengan tingkat kecerahan yang


lebih tinggi.
figure, imhist(I2)% show the histogram for the image I2
digunakan untuk digunakan untuk menampilkan kembali distribusi histogram dari variabel (I2),
pada jendela fiqure baru tanpa menimpa gambar (I2) yang sedang aktif.

setelah melalui proses histeq terlihat distribusi histogram gambar pout


kini menjadi menyebar.

4 menuliskan gambar (menyimpan gambar)


imwrite (I2, pout2.png);
digunakan untuk menuliskan (menyimpan gambar) yang telah didefinisikan sebagai variabel (I2)
sebagai gambar baru dengan nama pout2 dan berextensi png.

terlihat sekarang dalam drive ada gambar pout2.png


5 memeriksa isi file yang baru disimpan
imfinfo(pout2.png)
digunakan untuk menampilkan property atau informasi dari file gambar pout2.png yang telah
disimpan.

B TOPIK LANJUTAN
1 membaca dan menampilkan sebuah gambar

clear, close all


digunakan untuk membersihkan ruang kerja MATLAB dari segala variabel dan menutup semua
jendela yang masih terbuka
I=imread(rice.tif);
digunaan untuk mendefinisikan variabel (I) sebagai gambar rice.tif atau gambar rice.tif dibaca

oleh matlab sebagai variabel (I).


imshow(I);
digunakan untuk menampilkan gambar pada variabel (I) atau gambar rice.tif

2 Gunakan pembukaan morfologis untuk membuat estimasi background


background=imopen(I,strel(disk,15));
digunakan untuk melakukan operasi pembukaan morfologi dengan memanggil imopen dengan
gambar input, I, dan elemen penataan disk yang berbentuk dengan radius 15.elemen struktur
dibuat oleh fungsi Strel. Pembukaan morfologi memiliki efek menghilangkan benda-benda yang
tidak dapat sepenuhnya berisi disk dari radius 15.
imshow(background)
digunakan untuk menampilkan gambar yang telah melalui morfologi estimasi background.

3 Menampilkan aproksimasi (mendekati, menyerupai) background seperti permukaan


datar
figure, surf(double(background(1:8:end,1:8:end))),zlim([0 255]);

menggunakan perintah surf untuk memeriksa gambar latar belakang.Perintah surf menciptakan
permukaan parametrik berwarna bergelombang berbentuk persegi panjang.

set(gca,ydir,reverse);
digunakan untuk melihat tampilan permukaan parametrik berwarna bergelombang berbentuk
persegi panjang dari perintah surf diatas tetapi dengan dorotasi, (arah yang berlawanan).

4 Mengembalikan gambar background menjadi gambar aslinya(semula)


I2=imsubtract(I,background);
digunakan untuk mengembalikan gambar yang didefinisikan oleh variabel background(yang
telah dimorfologi) menjadi gambar semula yang didefinisikan oleh variabel (I), dan hasilnya
gambar tersebut oleh matlab akan didefinisikan dengan variabel I2.
figure, imshow(I2)

digunakan untuk menampilkan gambar dari variabel I2 pada jendela baru(fiqure baru).

5 Mengatur konstras dari suatu gambar


I3=imadjust(I2,stretchlim(I2),[0 1]);
digunakan untuk meningkatkan kontras dari gambar (I2) yang kemudian oleh matlab
didefinisikan dengan variabel (I3).
figure, imshow(I3)
digunakan untuk menampilkan gambar dari variabel I3 pada jendela baru(fiqure baru).

terlihat kontas gambar di figure4 lebih tinggi dari gambar yang di


figure3.
6 menjalankan proses thresholding (batas, tepi) pada suatu gambar
level = graythresh(I3);
digunakan untuk menghitung secara otomatis ambang yang tepat untuk mengkonversi intensitas
gambar menjadi biner, dan matlab mendefinisikan nya kedalam variabel (level)
bw = im2bw(I3,level);
digunakan untuk melakukan proses treshholding menggunakan ambang yang sudah didefinisikan
dengan variabel (level), serta hasil dari itu didefinisikan oleh matlab kedalam variabel (bw).

figure, imshow(bw)
digunakan untuk menampilkan gambar (bw) yang sudah di tresholding tadi pada jendela

baru(figure baru)

terlihat gambar difigure 5 lebih jelas batasan antara warna hitam dan
putihnya.

7 Menentukan jumlah objek dalam suatu gambar


[labeled,numObjects] = bwlabel(bw,4)
digunakan untuk menghitung jumlah objek pada gambar yang didefinisikan dengan variabel
(bw) sebelumnya,(gambar rice.tif) sehingga akan menghitung jumlah bulir beras pada gambar
rice.tif tersebut.

8 menguji label matrik


grain =imcrop(labeled)
digunakan untuk memilih dan menampilkan area pixel pada area (labeled) dan kemudian
disimpan pada varabel grain. Pada perintah ini kursor akan berubah menjadi tanda (+) ini
memungkinkan kita untuk memilih area mana yang ingin kita pilih (crop)
setelah area sudah dipilih maka matlab akan menampilkan barisan aray biner dari pixel yang
dipilih.

RGB_label = label2rgb(labeled, @spring, 'c', 'shuffle');


digunakan untuk menerapkan fungsi color map berupa RGB (red-green-blue) pada indeks biner
(labeled), sehingga hasilnya tampilan gambar (labeled) atau fice.tif akan diperlihatkan dengan
berwarna.
masukkan perintah imshow(RGB_label);

hasil tampilan gambar yang sudah melalui proses colormap RGB.

9 mengukur objek properti gambar


graindata = regionprops(labeled,'basic')
digunakan untuk membuat tindakan perintah kepada objek dalam gambar dan
mengembalikannya kedalam array terstruktur, yang berisi sifat dasar untuk (labeled).

graindata(51).Area
perintah yang digunakan untuk mencari area pada komponen (labeled) , dan mengakses field
area pada elemen ke 51 pada struktur array (graindata).
graindata(51).BoundingBox, graindata(51).Centroid
perintah yang digunakan untuk mencari boundingbox dan centroid terkecil yang ada untuk
komponen yang sama.(51)

allgrains = [graindata.Area];
digunakan Untuk membuat vektor baru, allgrains, yang memegang hanya pengukuran daerah
untuk masing masing biji.
whos allgrains
digunakan untuk melihat bagaimana MATLAB mengalokasikan variabel allgrains.

10 menghitung statistik objek didalam sebuah gambar


max(allgrains)
digunakan untuk menemukan ukuran butir terbesar.

biggrain = find(allgrains==695)

digunakan untuk mengembalikan label komponen gandum yang berukuran besar tadi.(hasil
max(allgrain)=695)

terlihat hasil allgrain = 695 ada sebanyak 68


mean(allgrains)
digunakan untuk mencari rata rata ukuran dari butir.

hist(allgrains,20)
digunakan untuk membuat histogram yang menunjukkan distribusi ukuran beras.

C Image Arithmetic
1 menambahkan gambar
I=imread(rice.tif);

berfungsi untuk membaca gambar rice.tifkemudian didefinisikan kedalam variabel (I) oleh
matlab.
J=imread(cameraman.tif);
berfungsi untuk membaca gambar cameraman.tifkemudian didefinisikan kedalam variabel (J)
oleh matlab.
K=imadd(I,J);
perintah yang digunakan untuk menambahkan niai setiap pixel disalah satu gambar yg
dimasukkan dengan ke sesuian pixel pada gambar masukkan lainnya, menambahkan gambar
yang didefinisikan oleh variabel (I) dengan gambar yang telah didefinisikan oleh variabel (J).
imshow(K)
digunakan untuk menampilkan gambar yang sudah ditambahkan (I,J) yang telah didefinisikan
sebagai variabel (K).

terlihat gambar bulir beras (rice.tif) ditambahkan dengan gambar


(cameraman.tif)
RGB=imread(flowers.tif);
berfungsi untuk membaca gambar flowers.tifkemudian didefinisikan kedalam variabel (RGB)
oleh matlab.
RGB2=imadd(RGB,50);
berfungsi untuk menambahkan suatu gambar yang telah didefinisikan dengan variabel (RGB)
sebelumnya, dengan suatu bilangan konstanta (50).setelah itu hasilnya akan dibaca dengan
matlab sebagai variabel (RGB2)
subplot(1,2,1);imshow(RGB);
digunakan untuk menampilkan gambar yang telah didefinisikan dengan variabel (RGB), pada
satu fiqure (jendela) dimana gambar tersebut ditampilkan pada posisi sebelah kiri

tampilan gambar (RGB) diletakkan pada plot 1, kiri


subplot(1,2,2);imshow(RGB2);
digunakan untuk menampilkan gambar yang telah didefinisikan dengan variabel (RGB2), pada
satu fiqure (jendela) dimana gambar tersebut ditampilkan pada posisi sebelah kanan

penampilan gambar (RGB2) pada plot 2, sbelah kanan dari


gambar (RGB), terlihat perbandingan tampak kecerahan dari gambar (RGB2) yang sudah
ditambah nilai setiap biner dengan konstanta 50.

2 mengurangi nilai konstan dari gambar


rice = imread(rice.tif);
digunakan untuk membaca gambar (rice.tif) yang didefinisikan kedalam variabel (rice).
background=imopen(rice,strel(disk,15));
digunakan untuk membuat tampilan gambar dengan ilumination background (hanya
backgroundnya saja) (pada gambar rice, backgrounnya hitam)
rice2 = imsubtract(rice,background);
digunakan untuk mengurangi nilai konstran setiap pixel dari gambar rice dengan gambar
background dan mengembalikannya dalam pixel yang bersesuian dan oleh matlab didefinisikan
sebagai variabel (rice2).
imshow(rice), figure(rice2);
digunakan untuk menampilkan gambar dari variabel rice (yaitu gambar original rice.tif) dan
menampilkan gambar dari variabel (rice2) (yaitu gambar rice.tif yang telah di kurangi nilai setiap
pixelnya dengan gambar background) pada jendela (figure) yang berbeda)

merupakan tampilan gambar imshow (rice)|

tampilan gambar imshow (rice2)


z= imsubtract(I,50);
digunakan untuk mengurangi konstan pada setiap pixel dalam gambar yang telah didefnisikan
dengan variabel (I).pada kasus diatas nilai konstannya (50).

jika dilakukan imshow(Z) maka tampilannya seperti gambar


disamping.

3 Mengalikan (nilai pixel) gambar


I = imread (moon.tif);
berfungsi untuk membaca gambar moon.tifkemudian didefinisikan kedalam variabel (I) oleh
matlab.
J=immultiply(I,1.2);
digunakan untuk mengalikan nilai setiap pixel dari gambar variabel (I), dengan konstan (1,2),
dan hasilnya didefinisikan dengan varibel (J).
imshow(I);
digunakan untuk menampilkan gambar yang didefinisikan dengan variabel (I) (yaitu gabar asli
dari moon.tif )

figure, imshow(J)
digunakan untuk menampilkan gambar (J) yang sudah melalui proses multiplying pada jendela
baru.
disini terlihat perbandingan gambar (J) memiliki ketajaman yang lebih tinggi dibandingkan
dengan gambar (I).

4.membagi (nilai pixel) gambar


I = imread('rice.tif');
berfungsi untuk membaca gambar rice.tifkemudian didefinisikan kedalam variabel (I) oleh
matlab.
background = imopen(I, strel('disk',15));
digunakan untuk melakukan operasi pembukaan morfologi dengan memanggil imopen dengan
gambar input, I, dan elemen penataan disk yang berbentuk dengan radius 15.elemen struktur
dibuat oleh fungsi Strel. Pembukaan morfologi memiliki efek menghilangkan benda-benda yang
tidak dapat sepenuhnya berisi disk dari radius 15.
Ip = imdivide(I,background);
digunakan untuk membagi nilai tiap pixel gambar (I) dengan nilai pixel gambar (background),
lalu didefinisikan dengan variabel (Ip).
imshow(Ip,[])
digunakan untuk menampilkan gambar yang sudah diproses dengan fungsi imdivide dengan

variabel (Ip).

I = imread('rice.tif');
berfungsi untuk membaca gambar rice.tifkemudian didefinisikan kedalam variabel (I) oleh
matlab.
I2= imread('cameraman.tif');
berfungsi untuk membaca gambar cameraman.tifkemudian didefinisikan kedalam variabel (I2)
oleh matlab.
K=imdivide(imadd(I,I2),2);
digunakan untuk membagi gambar yang sudah digabungkan antara (I) dan (I2) dengan suatu

konstanta yaitu (2). Maka akan ditampilkan gambar seperti dibawah ini:

K=imlincomb(.5,I,.5,I2);
digunakan untuk menggabungkan kedua gambar dengan sebelumnya masing masing nilai pixel
gambar (I) dan (I2) dibagi konstanta (0,5) . Maka tampilan gambarnya seperti dibawah ini:

D coordinate systems
[1 size (A,1)]
Misalkan, jika A adalah100baris dengan200kolomgambar, XData adalah [1 200] dan Y Data
adalah [1 100]. nilai dalamvektorini sebenarnyakoordinatuntuk titik-titikpusatpertama dan
terakhirpixel. sehinggasebenarnyakoordinatrentangmembentangsedikit lebih besar. Jika XData
adalah [1 200], kisaran x axis adalah [0.5 200.5].
Perintah ini menampilkan gambar menggunakan nondefault XData dan YData.
A = magic(5);
x = [19.5 23.5];
y = [8.0 12.0];
image(A,'XData',x,'YData',y), axis image, colormap(jet(25))
digunakan untuk menampilkan gambar dengan blok blok, serta di petakan koordinat yang nilai
garis (x) rentangnya antara (19-24), dan koordinat yang nilai (y) rentang sebenarnya antara (7,512,5) , gambar tersebut ditampilkan kedalam blok warna-warna.

E special display techniques


1 adding a colorbar
I = imread('saturn.tif');
h = [1 2 1; 0 0 0; -1 -2 -1];
I2 = filter2(h,I);
Digunakan untuk membaca gambar saturn.tif yang kemudian didefinisikan kedalam variabel I,
selanjutnya difilter menggunakan variabel (h), yang hasilnya kemudian didefinisikan kedalam
variabel (I2)
imshow(I2,[]), colorbar
digunakan untuk menampilkan gambar yang sudah didefinisikan dengan variabel (I2) dengan
disertakan blok warna yang termuat didalam gambar

Anda mungkin juga menyukai