labwork1 matlab

27
LABWORK 1 Basic and Advanced Topic Iwayan Restu Apriadi 1321211010

Transcript of labwork1 matlab

LABWORK 1

Basic and Advanced Topic

Iwayan Restu Apriadi1321211010

IBI DarmajayaNovember 2014

I. TEORI

A.Beberapa Topik DasarDalam 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 dimemoriSetelah gambar dibaca oleh matlab, gambar secara otomatis akan tersimpan dalam memori metlab, untuk memeriksanya gunakan fungsi whos3. Menampilkan Histogram Equalizationdalam matlab juga mampu menampilkan sebaran histogram equalizartion dengan menggunakan fungsi imhist, dan untuk menyebarkan sebaran histogramnya menggunakan fungsi histeq.4.Menulis Gambaruntuk menyimpan (menulis kedalam disk) gambar pada matlab fungsi yang digunakan adalah imwrite5. Memeriksa isi gambar yang baru ditulisuntuk memeriksa informasi gambar yang baru ditulis (disimpan ke disk) gunakan fungsi mfinfo

B.Topik LanjutanPada topik lanjutan ini beberapa fungsi dari perintah matlab yang akan ditemukan diantaranya adalah: 1. Menggunakan pembukaan morfologis untuk membuat estimasi backgroundDalam matlab ada fungsi yang dapat menampilkan hanya background suatu gambar saja, gunakan perintah imopen untuk mlakukannya.2. Menampilkan aproksimasi (mendekati, menyerupai) background seperti permukaan datargunakan 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 gambarperintah dalam matlab yang digunakan untuk mengatur kontras suatu gambar adalah imadjust.5. menguji label matrikMatlab 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 GambarDalam 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 KoordinatPada 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 Dasar1 Membaca dan menampilkan gambar.

clear, close alldigunakan untuk membersihkan ruang kerja MATLAB dari segala variabel dan menutup semua jendela yang masih terbukaI=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 memoriwhosdigunakan untuk menampilkan bagaimana gambar yang sudah didefinisikan ke variabel (I) pada memori.

3 menampilkan histogram equalizationfigure, imhist(I)% display histogram of I in a new figurejadi 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 I2digunakan 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 disimpanimfinfo(pout2.png)digunakan untuk menampilkan property atau informasi dari file gambar pout2.png yang telah disimpan.

B TOPIK LANJUTAN1 membaca dan menampilkan sebuah gambar

clear, close alldigunakan untuk membersihkan ruang kerja MATLAB dari segala variabel dan menutup semua jendela yang masih terbukaI=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 backgroundbackground=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 datarfigure, 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 gambarI3=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 gambarlevel = 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 matrikgrain =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 gambargraindata = 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).Areaperintah 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).Centroidperintah 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 allgrainsdigunakan untuk melihat bagaimana MATLAB mengalokasikan variabel allgrains.

10 menghitung statistik objek didalam sebuah gambarmax(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 Arithmetic1 menambahkan gambarI=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 gambarrice = 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) gambarI = 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) gambarI = 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,5-12,5) , gambar tersebut ditampilkan kedalam blok warna-warna.

E special display techniques1 adding a colorbarI = 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,[]), colorbardigunakan untuk menampilkan gambar yang sudah didefinisikan dengan variabel (I2) dengan disertakan blok warna yang termuat didalam gambar