• Tidak ada hasil yang ditemukan

Modul 3 Pengolahan Citra 2012

N/A
N/A
Protected

Academic year: 2021

Membagikan "Modul 3 Pengolahan Citra 2012"

Copied!
28
0
0

Teks penuh

(1)

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.

(2)

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.

(3)

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).

(4)

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.

(5)

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

(6)

 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

(7)

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

(8)

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 …

(9)

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.

(10)

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:

(11)

Spektrum Fourier dari contoh soal diatas dapat dihitung sebagai berikut:

(12)

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 metode-metode 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.

(13)

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)

(14)

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

(15)

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.

(16)

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.

Memulai Matlab

Perhatikan Dekstop pada layar monitor PC, anda mulai MATLAB dengan melakukan double-clicking 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.

(17)

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.

(18)

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.

(19)

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 fungsiimhist(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)

(20)
(21)

BAHASA PEMROGRAMAN PROLOG

Sejarah Prolog

- Prolog singkatan dariProgramming 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 languangeatau 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).

(22)

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).

(23)

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 Prolog

F : Tino suka apel

A : Yuli suka sesuatu yang disukai Tino

suka(tino, apel).

suka(yuli,Sesuatu) :- suka(tino,Sesuatu).

- Setiap aturan terdiri dari kesimpulan(kepala) dan tubuh.

- Tubuh dapat terdiri dari 1 atau lebih pernyataan atau aturan yang lain, disebut

subgoaldan dihubungkan dengan logika “and”.

- Aturan memiliki sifat then/if conditional

(24)

Contoh : Silsilah keluarga :

Fakta dan Aturan Prolog

F : Slamet adalah ayah dari Amin F : Amin adalah ayah dari Badu F : Slamet adalah kakek dari Badu A :

Slamet adalah benar kakek Badu jika Slamet adalah benar ayah Amin dan Amin adalah benar ayah Badu.

ayah(slamet,amin). ayah(amin,badu). kakek(slamet,badu). kakek(slamet,amin) :-ayah(slamet,amin) and ayah(amin,badu). F : Amin adalah saudara kandung Anang

F : Amin mempunyai ayah Slamet F: Anang mempunyai ayah Slamet. A :

Amin adalah benar saudara kandung Anang, jika Amin mempunyai ayah Slamet dan Anang juga mempunyai ayah Slamet. saudara_kandung(amin,anang). ayah(slamet,amin). ayah(slamet,anang). saudara_kandung(amin,anang) :-ayah(slamet,amin) and ayah(slamet,anang). Pertanyaan (“Query”)

- Setelah memberikan data-data berupa fakta dan aturan, selanjutnya kita dapat mengajukan pertanyaan berdasarkan fakta dan aturan yang ada.

(25)

- Contoh :

Pertanyaan Prolog dan Jawaban Program Apakah Tini suka boneka ? ?- 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 ?

Siapakah cucu Slamet ?

?- kakek(Siapa,budi). Siapa=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

(26)

- 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 Anakakan 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

(27)

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).

(28)

%% 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).

Gambar

Gambar 1. Resolusi pixel
Gambar 1. Perubahan histogram berdasarkan kecerahan gambar

Referensi

Dokumen terkait

72 Sementara menurut Bapak Zainal Arifin sebagai Tokoh Masyarakat di wilayah Kelurahan Mabar Hilir Kecamatan Medan Deli bahwa praktik pengangkatan anak yang

Untuk pengaplikasian sediment trap ini perlu penelitian lebih lanjut lagi terkait dimensi sediment trap yang paling optimal mengendapkan sedimen, besar kantong yang

Untuk melakukan penambahan expansion loop diperlukan analisa terlebih dahulu seperti pemilihan tipe loop yang sesuai dari segi tegangan, pressure drop dan juga segi

2.2 Untuk tujuan dari Bagian 2.1(a), jika identitas dan tempat tinggal seorang penduduk Timor Lorosae dinyatakan betul dan tercatat di Kantor Catatan Sipil, dan orang

Sebagaimana yang kita ketahui bahwa madrasah adalah salah satu dari Tripusat pendidikan yang dituntut untuk mampu menjadikan output yang unggul, mengutib pendapat

Perealisasian sebuah Coupled-Line Directional Coupler untuk pengukuran parameter- parameter yang terdapat pada antena WiMAX menggunakan bahan substrat yang memiliki spesifikasi

Pengaruh sundrang terhadap mahar di sini adalah semakin tinggi sundrang yang ditentukan oleh keluarga perempuan, maka akan tinggi pula jumlah mahar yang nantinya