Modul 1 - 6 Citra
February 20, 2017 | Author: Juan Dedy | Category: N/A
Short Description
Download Modul 1 - 6 Citra...
Description
Modul 3 Pengolahan Citra
2012
Resolusi Citra Resolusi citra merupakan tingkat detil suatu citra. Semakin tinggi resolusi citra maka akan semmakin tinggi pula tingkat detil dari citra tersebut. Satuan dalam pengukuran resolusi citra dapat berupa ukuran fisik (jumlah garis per mm / jumlah garis per inchi) ataupun dapat juga berupa ukuran citra menyeluruh (jumlah garis per tinggi citra).
Resolusi citra dapat diukur dengan berbagai cara sebagai berikut: 1. Resolusi pixel 2. Resolusi spasial 3. Resolusi spectral 4. Resolusi temporal 5. Resolusi radiometril
1. Resolusi pixel Resolusi pixel merupakan perhitungan jumlah pixel dalam sebuah citra digital. Sebuah citra dengan tinggi N pixel dan lebar M pixel, berarti memiliki resolusi sebesar M x N. Resolusi pixel akan memberikan dua buah angka integer yang secara berurutan akan mewakili jumlah pixel lebar dan jumlah pixel tinggi dari citra tersebut.
Resolusi pixel juga merupakan hasil perkalian jumlah pixel lebar dan tingginya dan kemudian dibagi dengan 1 juta. Jenis resolusi pixel seperti ini sering ditemui pada kamera digital. Suatu citra yang memiliki lebar 2.048 pixel dan tinggi 1.536 pixel, memiliki total pixel sebanyak 2.048 x 1.536 = 3.145.728 pixel = 3.1 mega pixel. Perhitungan lainnya menyatakan dalam satuan pixel per inchi, yang berarti banyaknya pixel yang ada sepanjang 1 inchi baris dalam citra.
Gambar 1. Resolusi pixel
Desi Ramayanti, S.Kom, MT
Modul 3 Pengolahan Citra
2012
2. Resolusi spasial Resolusi spasial menunjukkan seberapa dekat jarak setiap garis pada citra. Jarak tersebut tergantung dari sistem yang menciptakan citra tersebut. Resolusi spasial menghasilkan jumlah pixel per satuan panjang. Resolusi spasial dari sebuah monitor computer adalah 72 hingga 100 garis per inchi atau dalam resolusi pixel 72 hingga 100 ppi.
3. Resolusi spectrum Sebuah citra digital membedakan intensits kedalam beberapa spectrum. Citra multi spectrum akan memberikan spectrum atau panjang gelombang yang lebih baik untuk menampilkan warna.
4. Resolusi temporal Resolusi temporal berkaitan dengan video. Suatu video merupakan kumpulan frame statis yang berupacita yang berurutan dan ditampilkan secara cepat. Resolusi temporal memberikan jumlah frame yang dapat ditampilkan setiap detik dengan satuan frame per second (fps).
5. Resolusi radiometrik Resolusi ini memberikan nilai atau tingkat kehalusan citra yang dapat ditampilkan dan biasanya ditampilkan dalam satuan bit. Contoh citra 8 bit dan citra 256 bit. Semakin tinggi resolusi radiometrik ini maka semakin baik perbedaaan intensitas yang ditampilkan.
Desi Ramayanti, S.Kom, MT
Modul 3 Pengolahan Citra
2012
Jenis Citra Nilai suatu pixel memiliki nilai dalam rentan tertentu, dari nilai minimum sampai nilai maksimum. Jangkauan yang digunakan berbeda beda, tergantung dari jenis warnanya. Namun secara umum jangkauannya adalah 0-225. Citra dengan penggambaran seperti ini digolongkan dalam citra integer.
Jenis-jenis citra berdasarkan nilai pixelnya: 1. Citra Biner Citra biner adalah citra digital yang hanya memiliki dua kemungkinan nilai pixel yaitu hitam dan putih. Citra biner juga disebut sebagai citra B&&W (Black and White) atau citra monokrom. Hanya dibutuhkan 1 bit untuk mewakili nilai setiap pixel dari citra biner. Citra biner seringkali muncul sebagai hasil dari proses pengolahan seperti segmentasi, pengambangan, morfologi ataupun dithering.
Gambar 2. Citra Biner
2. Citra Grayscale Citra grayscale merupakan citra digital yang hanya memiliki satu nilai kanal pada setiap pixelnya, dengan kata lain nilai bagian RED = GREEN = BLUE. Nilai tersebut digunakan untuk menunjukkan tingkat intensitas. Warna yang dimiliki adalah warna dari hitam, keabuan dan putih. Tingkat keabuan disini merupakan warna abu dengan berbagai tingkatan dari hitam hingga mendekati putih. Citra grayscale memiliki kedalaman warna 8 bit (256 kombinasi warna keabuan).
Gambar 3. Citra Grayscale Desi Ramayanti, S.Kom, MT
Modul 3 Pengolahan Citra
2012
3. Citra warna (8 bit) Setiap pixel dari citra warna (8 bit) hanya diwakili oleh 8 bit dengan jmlah warna maksimum yang dapat digunakan adalah 256 warna. Ada dua jenis citra warna 8 bit:
Citra warna 8 bit dengan menggunakan palet warna 256, dengan setiap paletnya memiliki pemetaan nilai (colormap) RGB tertentu. Model ini lebih sering digunakan.
Setiap pixel memiliki format 8 bit sebagai berikut:
Bentuk kedua ini dinamakan 8 bit truecolor 4. Citra warna (16 bit) Citra warna 16 bit (biasanya disebut citra highcolor) dengan setiap pixelnya diwakili dengan 2 byte memory (16 bit). Warna 16 bit memiliki 65.356 warna. Dalam formasi bitnya, nilai merah dan biru mengambil tempat di 5 bit di kanan dan kiri. Komponen hijau memiliki 5 bit ditambah 1 bit ekstra. Pemilihan komponen hijau dengan deret 6 bit dikarenakan penglihatan manusia lebih sensitive terhadap warna hijau.
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 seluruh warna yang dapat dilihat penglihatan manusia. Penglihatan manusia dipercaya hanya dapat membedakan hingga 10 juta warna saja. Setiap poin informasi pixel (RGB) disimpan ke dalam 1 byte data. 8 bit pertama menyimpan nilai biru, kemudian diikuti dengan nilai hijau pada 8 bit kedua dan pada 8 bit terakhir merupakan warna merah.
Desi Ramayanti, S.Kom, MT
Modul 3 Pengolahan Citra
2012
Format file citra
Bitmap (.bmp) Format bmp adalah format penyimpanan standar tanpa kompresi yang umum dapat digunakan untuk menyimpan citra biner hingga citra warna. Format ini terdiri dari beberapa jenis yang setiap jenisnya ditentukan dengan jumlah bit yang digunakan untuk menyimpan sebuah nilai pixel.
Tagged Image Format (.tif, .itiff) Format .tif merupakan format penyimpanan citra yang dapat digunakan untuk menyimpan citra bitmap hingga citra dengan warna palet terkompresi. Format ini juga dapat digunakan untuk menyimpan citra yang tidak terkompresi dan juga citra terkompresi.
Portable Network Graphics (.png) Format .png adalah format penyimpanan citra terkompresi. Format ini dapat digunakan pada citra grayscale, citra dengan palet warna, dan juga citra fullcolor. Format .png juga mampu untuk menyimpan informasi hingga kanal alpha dengan penyimpanan sebesar 1 hingga 16 bit perkanal
JPEG (.jpg) .jpg adalah format yang sangat umum digunakan untuk transmisi citra. Format ini digunakan untuk menyimpan citra hasil kompresi dengan metode JPEG.
MPEG (.mpg) Format ini digunakan di dunia internet dan diperuntukkan sebagai format penyimpanan citra bergerak (video).
Graphics Interchange Format (.gif) Format ini dapat digunakan pada citra warna dengan palet 8 bit. Penggunaan umumnya pada aplikasi web kualitas yang rendah menyebabkan format ini tidak terlalu popular dikalangan peneliti pengolahan citra digital.
RGB (.rgb) Format ini merupakan format penyimpanan citra yang dibuat oleh silicon graphics untuk menyimpan citra berwarna.
RAS (.ras) Format .ras digunakan untuk menyimpan citra dengan format RGB tanpa kompresi.
Postscript (.ps, .eps, .epfs) Format ini diperkenalkan sebagai format untuk menyimpan citra buku elektronik. Dalam format ini, citra dipresentasikan ke dalam deret nilai decimal atau hexadecimal yang dikodekan ke dalam ASCII Desi Ramayanti, S.Kom, MT
Modul 3 Pengolahan Citra
2012
Portable Image File Format Format ini memiliki beberapa bagian diantaranya adalah portable bitmap, portable graymap, portable pixmap, dan portable network map dengan format berturut-turut adalah .pbm, .pgm, .ppm dan .pnm. Format ini baik digunakan untuk menyimpan dan membaca kembali data citra.
PPM PPM terdiri dari dua bagian umum yaitu bagian pendahuluan dan bagian data citra. Bagian pendahuluan memiliki tiga bagian kecil, yaitu pertama adalah pengenal PPM yang dapat berupa p3 (untuk citra ASCII) dan p6 (untuk citra binary). Bagian pendahuluan yang kedua adalah ukuran panjang dan lebar citra. Bagian ketiga dari pendahuluan adalah nilai maksimum dari komponen warna . keistimewaannya adalah dalam data citra dapat disimpan komentar dengan memberikan tanda “#” sebelum komentar.
PGM Format ini hampir mirip dengan format PPM hanya saja format ini menyimpan informasi grayscale (satu nilai per pixel). Pengenal yang digunakan adalah p2 dan p5. PBMPBM digunakan untuk menyimpan citra biner. Hampir sama dengan PPM dan PGM,format PBM ini memiliki pendahuluan, hanya saja pendahuluannya tidak memilikibagian ketiga (penjelasan nilai maksimum pixel). Pengenal yang digunakan adalah p1
Desi Ramayanti, S.Kom, MT
Modul 4 Pengolahan Citra
2012 TRANSFORMASI CITRA
Mengapa perlu transformasi: 1. Setiap orang pada suatu saat pernah menggunakan suatu teknik analisis
dengan
transformasi untuk menyederhanakan penyelesaian suatu masalah [Brigham,1974] Contoh: penyelesaian fungsi y = x/z
Analisa konvensional : pembagian secara manual
Analisa transformasi : melakukan transformasi
log(y) = log(x) – log(z)
look-up table pengurangan look-up able
2. Transformasi juga diperlukan bila ingin mengetahui suatu informasi tertentu yang tidak tersedia sebelumnya. Contoh : Jika ingin mengetahui informasi frekuensi kita memerlukan transformasi Fourier Jika ingin mengetahui
informasi tentang kombinasi skala dan frekuensi kita
memerlukan transformasi wavelet Pengertian Transformasi Citra Secara harfih, transformasi atau alih ragam citra dapat diartikan sebagai perubahan bentuk suatu citra. Perubahan bentuk tersebut dapat berupa perubahan geometri pixel seperti perputaran (rotasi), pergeseran (translasi), penskalaan, dan lain sebagainya atau dapat juga berupa perubahan ruang (domain) citra ke domain lainnya, seperti transformasi fourier yang mengubah suatu citra dari domain spasial menjadi domain frekuensi. Tujuan dari transformasi citra adalah untuk memperoleh informasi (feature extraction) yang lebih jelas yang terkandung dalam suatu citra. Melalui proses transformasi, suatu citra dapat dinyatakan sebagai kombinasi linier dari sinyal dasar (basic signals) yang disebut dengan fungsi basis (basis function). Suatu citra yang telah mengalami transformasi dapat diperoleh kembali dengan menggunakan transformasi balik (invers transformation).
Transformasi bisa dibagi menjadi 2 : –
Transformasi piksel/transformasi geometris:
–
Transformasi ruang/domain/space
Desi Ramayanti, S.Kom, MT
Modul 4 Pengolahan Citra
2012
Transformasi Pixel Transformasi piksel masih bermain di ruang/domain yang sama (domain spasial), hanya posisi piksel yang
kadang diubah. Contoh: rotasi, translasi, scaling, invers, shear, dll.
Transformasi jenis ini relatif mudah diimplementasikan dan banyak aplikasi yang dapat melakukannya (Paint, ACDSee, dll) Transformasi Ruang Transformasi ruang merupakan proses perubahan citra dari suatu ruang/domain
ke
ruang/domain lainnya, contoh: dari ruang spasial ke ruang frekuensi. Contoh : Ruang vektor. Salah satu basis yang merentang ruang vektor 2 dimensi adalah [1 0] dan [0 1]. Artinya, semua vektor yang mungkin ada di ruang vektor 2 dimensi selalu dapat direpresentasikan sebagai kombinasi linier dari basis tersebut.
Metode transformasi citra:
Transformasi fourier diskrit
Transformasi cosinus diskrit
Transformasi Harley diskrit
Transformasi sinus diskrit
Transformasi walsh
Transformasi hadamard
Transformasi slant
Transformasi wavelet diskrit
Transformasi Fourier Diskrit
Transformasi Fourier merupakan transformasi yang paling terkenal dan banyak digunakan dalam pengolahan citra. Transformasi ini diperkenalkan oleh Jean Baptiste Joseph Fourier pada tahun 1807 menemukan bahwa: setiap fungsi periodik (sinyal) dapat dibentuk dari penjumlahan gelombang-gelombang sinus/cosinus.
Fungsi kotak sebagai penjumlahan fungsi-fungsi sinus berikut: f(x) = sin(x) + sin(3x)/3 + sin(5x)/5 +sin(7x)/7 + sin(9x)/9 … Desi Ramayanti, S.Kom, MT
Modul 4 Pengolahan Citra
2012
Transformasi Fourier membawa suatu citra dari ruang spasial ke ruang frekuensi. Fungsi basis dari transformasi Fourier adalah berupa fungsi (sinyal) sinus. Melalui transformasi Fourier, suatu citra (sinyal atau fungsi) dapat dinyatakan sebagai penjumlahan sinyal sinus atau kosinus dengan amplitude dan frekuensi yang bervariasi. Frekuensi yang dominan pada suatu sitra dapat diketahui melalui transformasi ini.
Transformasi Fourier yang biasa diterapkan pada data citra (sinyal diskrit) adalah transformasi Fourier diskrit (Discrete Fourier Transform) dan disingkat dengan DFT
DFT 1 Dimensi Transformasi Fourier diskrit pada citra 1 dimensi f(x) = (f(0), f(1), f(2),….,f(N-1)) berukuran N, dengan indeks x bernilai dari 0 sampai dengan N-1, akan menghasilkan citra 1 dimensi F(u)= (f(0), f(1), f(2),….,f(N-1)), dengan F(u) dapat dinyatakan sebagai berikut:
F(u) menyatakan komponen frekuensi spasial dengan u menyatakan koordinat frekuensi spasial, sedangkan
merupakan bilangan komplek.
Dengan memanfaatkan teorema Euler
maka persamaan
dapat disajikan
dalam bentuk:
Citra semula dapat diperoleh kembali dengan menggunakan transformasi Fourier diskrit balik sebagai berikut.
Desi Ramayanti, S.Kom, MT
Modul 4 Pengolahan Citra
2012
Hasil transformasi Fourier mengandung bilangan real dan imajiner yang berturut-turut dapat dinyatakan sebagai (R(u)) dan (I(u)). Cara lain untuk menampilkan hasil transformasi untuk menghindari bilangan imajiner tersebut adalah menggunakan spektrum (spectrum) dan sudut (phase) Fourier. Spektrum Fourier (magnitude) dapat dinyatakan sebagai:
Sedangkan sudutnya dapat dihitung dengan rumus:
Untuk u = 0,1,2,……,N-1 Hubungan antara bilangan real dan imajiner dengan magnitude dan sudut ditunjukkan pada gambar berikut
Contoh Penghitungan FT 1 dimensi Suatu citra 1 dimensi f(x) = (f(f(0), f(1), f(2), f(3)) = (3,4,4,5) dengan N=4, maka DFTnya dapat dihitung sebagai berikut:
Desi Ramayanti, S.Kom, MT
Modul 4 Pengolahan Citra
2012
Spektrum Fourier dari contoh soal diatas dapat dihitung sebagai berikut:
Sedangkan sudutna sebagai berikut:
Desi Ramayanti, S.Kom, MT
Modul 5 Pengolahan Citra
2012 PERBAIKAN CITRA
Perbaikan citra bertujuan meningkatkan kualitas tampilan citra untuk pandangan manusia atau untuk mengkonversi suatu citra agar memiliki format yang lebih baik sehingga citra tersebut menjadi lebih mudah diolah dengan mesin (computer).
Perbaikan terhadap suatu citra dapat dilakukan dengan:
operasi titik (point operation)
operasi spasial (spatial operation)
operasi geometri (geometric operation)
operasi aritmatik (arithmetic operation)
Operasi Titik Histogram Histogram citra berkaitan dengan berbagai teknik pengolahan citra, terutama metodemetode yang tergolong dalam operasi titik.
Histogram citra menunjuk pada histogram dari nilai intensitas pixel. Histogram menampilkan banyaknya pixel dalam suatu citra yang dikelompokkan berdasarkan nilai intensitas pixel yang berbeda. Pada citra grayscale 8 bit, terdapat 256 level nilai intensitas yang berbeda maka pada histogram akan ditampilkan secara grafik distribusi dari masing-masing 256 level nilai pixel tersebut.
Histogram citra ditampilkan dalam grafik 2D, dengan sumbu x menyatakan nilai intensitas pixel dan sumbu y menyatakan frekuensi (banyaknya kemunculan) suatu nilai intensitas pixel.
Proses pembentukan histogram dapat dilakukan dengan memeriksa setiap nilai pixel pada suatu citra, kemudian hitung banyaknya nilai pixel tersebut dan disimpan dalam memori.
Histogram juga dapat diterapkan untuk citra berwarna, dengan cara memisahkan terlebih dahulu 3 komponen warna red, green dan blue, kemudian setiap komponen warna dibuat histogramnya. Histogram citra berwarna uga dapat ditampilkan dalam grafik 3D dengan salah satu sumbu menyatakan komponen ruang warna.
Desi Ramayanti, S.Kom, MT
Modul 5 Pengolahan Citra
2012
Penyesuaian kecerahan Penyesuaian kecerahan merupakan operasi pixel yang paling sederhana. Tingkat kecerahan suatu citra dapat dilihat dari histogramnya. Semua pixel biasanya terkosentrasi pada salah satu sisi histogram dengan rentangan gray level tertentu. Semakin dinaikkan tingkat kecerahan suatu citra maka kosentrasi nilai pixel pada histogram akan bergeser ke sisi kanan, demikian juga sebaliknya, semakin diturunkan maka kosentrasi nilai pixel pada histogram akan bergeser ke sisi kiri (Gambar 1)
Gambar 1. Perubahan histogram berdasarkan kecerahan gambar
Desi Ramayanti, S.Kom, MT
Modul 5 Pengolahan Citra
2012 TUTORIAL 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 bidang–bidang: •
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 Desi Ramayanti, S.Kom, MT
Modul 5 Pengolahan Citra
2012
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.
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 CommandWindow, 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 fungsi fungsi 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.
Desi Ramayanti, S.Kom, MT
Modul 5 Pengolahan Citra
2012
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 MATfiles.
Memulai Matlab Perhatikan Dekstop pada layar monitor PC, anda mulai MATLAB dengan melakukan doubleclicking pada shortcut icon
MATLAB. Selanjutnya anda akan mendapatkan tampilan
seperti pada Gambar berikut ini.
Sedangkan untuk mengakhiri sebuah sesi MATLAB, anda bisa melakukan dengan dua cara, pertama pilih File -> Exit MATLAB dalam window utama MATLAB yang sedang aktif, atau cara kedua lebih mudah yaitu cukup ketikkan type quit dalam CommandWindow.
Desi Ramayanti, S.Kom, MT
Modul 5 Pengolahan Citra
2012
Menentukan Direktori Tempat Bekerja Anda dapat bekerja dengan MATLAb secara default pada directoryWork ada di dalam Folder MATLAB. Tetapi akan lebih bagus dan rapi jika anda membuat satu directory khusus dengan nama yang sudah anda kususkan, “IQBAL” atau nama yang lain yang mudah untuk diingat. Hal ini akan lebih baik bagi anda untuk membiasakan bekerja secara rapi dan tidak mencampur program yang anda buat dengan program orang lain. Untuk itu Arahkan pointer mouse anda pada kotak bertanda … yang ada disebelah kanan tanda panah kebawah (yang menunjukkan folder yang sedang aktif). Pilih new directory, selanjutnya ketikkan “IQBAL”, dan diikuti dengan click Ok.
Desi Ramayanti, S.Kom, MT
Modul 5 Pengolahan Citra
2012
Pembacaan Image 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 matriks dua dimensi jika gambar yang dibaca adalah gambar grayscale dan matrik 3 dimensi jika berupa gambar 3 dimensi.
Ekstraksi Nilai Piksel Red, Green dan Blue (RGB) 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(‘gambarkoe.jpg’); %--------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.
Desi Ramayanti, S.Kom, MT
Modul 5 Pengolahan Citra
2012
Konversi Gambar RGB ke Grayscale 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 yang telah dilakukan diatas seperti contoh berikut:
Gambar = imread(‘gambarkoe.jpg’); %--------membaca file gambar rgb2gray(Gambar)
atau menggunakan nilai bobot gambar=imread(‘gambarkoe.jpg’); %--------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 gray2=0.3*red+0.5*green+0.2*blue ;
Membuat Histogram Image Fungsi yang disediakan MATLAB untuk membuat histogram dari gambar yaitu dengan fungsi imhist(matrik_1_dimensi_image) Perlu diperhatikan bahwa imhist hanya dapat digunakan untuk matrik image 1 dimensi sehingga bila diimplementasikan pada matriks gambar maka hanya berupa matriks merah saja, hijau saja, biru saja atau grayscale.
Contoh penggunaan Histogram dari Image yaitu: gambar=imread(‘gambarkoe.jpg’); %--------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 merahgray2=0.3*red+0.5*green+0.2*blue ; imhist(red) imhist(green) imhist(blue) imhist(gray)
Desi Ramayanti, S.Kom, MT
Modul 5 Pengolahan Citra
2012
contoh Hasil:
Desi Ramayanti, S.Kom, MT
Intelegensi Buatan (Modul Pertemuan 6)
2012
BAHASA PEMROGRAMAN PROLOG
Sejarah Prolog -
Prolog singkatan dari Programming in Logic.
-
Dikembangkan oleh Alain Colmenraurer dan P.Roussel di Universitas Marseilles Perancis, tahun1972.
-
Prolog populer di Eropa untuk aplikasi artificial intelligence, sedangkan di Amerika peneliti mengembangkan aplikasi yang sama, yaitu LISP.
Perbedaan Prolog dengan Bahasa Lainnya -
Bahasa Pemrograman yang Umum (Basic, Pascal, C, Fortran): o
diperlukan algoritma/prosedur untuk memecahkan masalah (procedural languange)
o
program menjalankan prosedur yang sama berulang-ulang dengan data masukan yang berbeda-beda.
o
Prosedur dan pengendalian program ditentukan oleh programmer dan perhitungan dilakukan sesuai dengan prosedur yang telah dibuat.
-
Bahasa Pemrograman Prolog : o
Object oriented languange atau declarative languange.
o
Tidak terdapat prosedur, tetapi hanya kumpulan data-data objek (fakta) yang akan diolah, dan relasi antar objek tersebut membentuk aturan yang diperlukan untuk mencari suatu jawaban
o
Programmer
menentukan
tujuan
(goal),
dan
komputer
menentukan
bagaimana cara mencapai tujuan tersebut serta mencari jawabannya. o
Dilakukan pembuktian terhadap cocok-tidaknya tujuan dengan data-data yang telah ada dan relasinya.
o
Prolog ideal untuk memecahkan masalah yang tidak terstruktur, dan prosedur pemecahannya tidak diketahui, khususnya untuk memecahkan masalah non numerik.
o
Prolog bekerja seperti pikiran manusia, proses pemecahan masalah bergerak di dalam ruang masalah menuju suatu tujuan (jawaban tertentu).
o
Contoh : Pembuatan program catur dengan Prolog
Desi Ramayanti, S.Kom, MT
Page 1
Intelegensi Buatan (Modul Pertemuan 6)
2012
Aplikasi Prolog : -
Sistem Pakar (Expert System) Program menggunakan teknik pengambilan kesimpulan dari data-data yang didapat, layaknya seorang ahli. Contoh dalam mendiagnosa penyakit
-
Pengolahan Bahasa Alami (Natural Languange Processing) Program dibuat agar pemakai dapat berkomunikasi dengan komputer dalam bahasa manusia sehari-hari, layaknya penterjemah.
-
Robotik Prolog digunakan untuk mengolah data masukanyang berasal dari sensor dan mengambil keputusan untuk menentukan gerakan yang harus dilakukan.
-
Pengenalan Pola (Pattern Recognition) Banyak digunakan dalam image processing, dimana komputer dapat membedakan suatu objek dengan objek yang lain.
-
Belajar (Learning) Program belajar dari kesalahan yang pernah dilakukan, dari pengamataqn atau dari hal-hal yang pernah diminta untuk dilakukan.
Fakta dan Relasi -
Prolog terdiri dari kumpulan data-data objek yang merupakan suatu fakta.
-
Fakta dibedakan 2 macam : o
Menunjukkan relasi.
o
Menunjukkan milik/sifat.
-
Penulisannya diakhiri dengan tanda titik “.”
-
Contoh : Fakta
Prolog
Slamet adalah ayah Amin
ayah (slamet, amin).
Anita adalah seorang wanita
wanita (anita).
Angga suka renang dan tenis
suka(angga,
renang).
dan
suka(angga,tenis). Jeruk berwarna jingga
Desi Ramayanti, S.Kom, MT
jngga(jeruk).
Page 2
Intelegensi Buatan (Modul Pertemuan 6)
2012
Aturan (“Rules”) -
Aturan adalah suatu pernyataan yang menunjukkan bagaimana fakta-fakta berinteraksi satu dengan yang lain untuk membentuk suatu kesimpulan.
-
Sebuah aturan dinyakatakan sebagai suatu kalimat bersyarat.
-
Kata “if” adalah kata yang dikenal Prolog untuk menyatakan kalimat bersyarat atau disimbolkan dengan “:-“.
-
Contoh : Fakta dan Aturan F : Tino suka apel
Prolog suka(tino, apel).
A : Yuli suka sesuatu yang disukai suka(yuli,Sesuatu) :- suka(tino,Sesuatu). Tino -
Setiap aturan terdiri dari kesimpulan(kepala) dan tubuh.
-
Tubuh dapat terdiri dari 1 atau lebih pernyataan atau aturan yang lain, disebut subgoal dan dihubungkan dengan logika “and”.
-
Aturan memiliki sifat then/if conditional “Kepala(head) benar jika tubuh (body) benar”.
Desi Ramayanti, S.Kom, MT
Page 3
Intelegensi Buatan (Modul Pertemuan 6)
2012
Contoh : Silsilah keluarga :
Fakta dan Aturan
Prolog
F : Slamet adalah ayah dari Amin
ayah(slamet,amin).
F : Amin adalah ayah dari Badu
ayah(amin,badu).
F : Slamet adalah kakek dari Badu
kakek(slamet,badu).
A: Slamet adalah benar kakek Badu jika kakek(slamet,amin) :Slamet adalah benar ayah Amin dan ayah(slamet,amin) and Amin adalah benar ayah Badu.
ayah(amin,badu).
F : Amin adalah saudara kandung Anang
saudara_kandung(amin,anang).
F : Amin mempunyai ayah Slamet
ayah(slamet,amin).
F: Anang mempunyai ayah Slamet.
ayah(slamet,anang).
A: Amin adalah benar saudara kandung Anang,
jika
Amin mempunyai ayah saudara_kandung(amin,anang) :-
Slamet dan Anang juga mempunyai ayah ayah(slamet,amin) and Slamet.
ayah(slamet,anang).
Pertanyaan (“Query”) -
Setelah memberikan data-data berupa fakta dan aturan, selanjutnya kita dapat mengajukan pertanyaan berdasarkan fakta dan aturan yang ada.
-
Penulisannya diawali simbol “?-“ dan diakhiri tanda “.”.
Desi Ramayanti, S.Kom, MT
Page 4
Intelegensi Buatan (Modul Pertemuan 6) -
2012
Contoh : Pertanyaan Apakah Tini suka boneka ?
Prolog dan Jawaban Program ?- suka(tini,boneka). Yes ……. (jika faktanya Tini suka boneka) No……..…(jika tidak sesuai fakta).
Apakah yang disukai Tini ?
?- suka(tini,Apa). Apa=boneka
Siapakah yang suka boneka ?
?- suka(Siapa,boneka). Siapa=tini
Dari contoh silsilah keluarga di atas : Siapakah kakek Budi ? ?- kakek(Siapa,budi). Siapa=slamet Siapakah cucu Slamet ? ?- kakek(slamet,Cucu). Cucu=budi ; Cucu=badu
(jika kemungkinan ada lebih dari satu jawaban gunakan tanda “;” pada akhir setiap jawaban).
Predikat (“Predicate”) -
Predikat adalah nama simbolik untuk relasi.
-
Contoh :
ayah(slamet,amin).
Predikat dari fakta tersebut ditulis : ayah(simbol,simbol). dimana ayah adalah nama predikat, sedangkan slamet dan amin adalah menujukkan argumen. Sebuah predikat dapat tidak memiliki atau memiliki argumen dengan jumlah bebas. Jumlah argumen suatu predikat disebut aritas (arity). ayah(nama) …… aritas-nya 1 ayah(nama1,nama2) ….. aritasnya 2
Desi Ramayanti, S.Kom, MT
Page 5
Intelegensi Buatan (Modul Pertemuan 6) -
2012
Syarat-syarat penulisan nama predikat : o
Harus diawali dengan huruf kecil dan dapat diikuti dengan huruf, bilangan atau garis bawah.
o
Panjang nama predikat maksimum 250 karakter.
o
Tidak diperbolehkan menggunakan spasi, tanda minus, tanda bintang dan garis miring.
Variabel -
Varibel adalah besaran yang nilainya dapat berubah-ubah.
-
Tata cara penulisan variabel : 1.
Nama varibel harus diawali huruf besar atau garis bawah(_)
2.
Nama variabel dapat terdiri dari huruf, bilangan, atau simbol dan merupakan kesatuan dengan panjang maksimum 250 karakter.
3.
Nama variabel hendaknya mengandung makna yang berkaitan dengan data yang dinyatakannya.
-
Contoh : dari silsilah di atas : ?- ayah(slamet,Anak). Anak=budi ; Anak=badu No Dari query di atas akan dicari siapakah anak dari ayah yang bernama Slamet. Karena mempunyai relasi yang sama (yaitu ayah), variabel Anak akan mencari nilai dari konstanta suatu fakta/aturan yang sepadan. Tanda “;” digunakan bila terdapat kemungkinan ada lebih dari satu jawaban. “No” berarti tidak ada lagi kemungkinan jawaban.
Contoh : dari silsilah di atas : ?- ayah(slamet,X),ayah(X,Y). X=amin Y=budi ; X=amin Y=badu ; X=anang Y=didi ; X=anang Y=didi No
Desi Ramayanti, S.Kom, MT
Page 6
Intelegensi Buatan (Modul Pertemuan 6)
2012
Contoh : Silsilah Keluarga %% FAKTA */ %%orang tua */ ayah(slamet,amin). ayah(slamet,anang). ayah(amin,budi). ayah(amin,badu). ayah(anang,didi). ayah(anang,dadi). ayah(santoso,bu_amin). ayah(supardi,bu_anang). ibu(bu_slamet,amin). ibu(bu_slamet,anang). ibu(bu_amin,budi). ibu(bu_amin,badu). ibu(bu_anang,didi). ibu(bu_anang,dadi). ibu(bu_santoso,bu_amin). ibu(bu_santoso,bu_anang). %% ATURAN */ %% Kakek adalah kakek Cucu */ kakek(Kakek,Cucu) :ayah(Ayah,Cucu), ayah(Kakek,Ayah). kakek(Kakek,Cucu) :ibu(Ibu,Cucu), ayah(Kakek,Ibu). %% Nenek adalah nenek Cucu */ nenek(Nenek,Cucu) :ayah(Ayah,Cucu), ibu(Nenek,Ayah). nenek(Nenek,Cucu) :ibu(Ibu,Cucu), ibu(Nenek,Ibu).
Desi Ramayanti, S.Kom, MT
Page 7
Intelegensi Buatan (Modul Pertemuan 6)
2012
%% Nama1 adalah saudara kandung Nama2 saudara_kandung(Nama,Name) :ayah(Ayah,Nama), ayah(Ayah,Name), ibu(Ibu,Nama), ibu(Ibu,Name), Nama \= Name. %% Sdr1 adalah saudara sepupu Sdr2 saudara_sepupu(Sdr1,Sdr2) :ayah(Ayah1,Sdr1), ayah(Ayah2,Sdr2), saudara_kandung(Ayah1,Ayah2). saudara_sepupu(Sdr1,Sdr2) :ayah(Ayah,Sdr1), ibu(Ibu,Sdr2), saudara_kandung(Ayah,Ibu). saudara_sepupu(Sdr1,Sdr2) :ibu(Ibu,Sdr1), ayah(Ayah,Sdr2), saudara_kandung(Ibu,Ayah). saudara_sepupu(Sdr1,Sdr2) :ibu(Ibu1,Sdr1), ibu(Ibu2,Sdr2), saudara_kandung(Ibu1,Ibu2).
Desi Ramayanti, S.Kom, MT
Page 8
View more...
Comments