Category Archives: Pengolahan Citra

Pengolahan Citra Digital menggunakan GUI MATLAB

Pencocokan Citra


Pencocokan citra (image matching) merupakan salah satu bagian dari pengolahan citra yang dilakukan untuk mencari citra lain yang sejenis atau memiliki kemiripan. Salah satu parameter yang merepresentasikan tingkat kemiripan antara dua buah citra adalah jarak euclidean. Semakin kecil jarak euclidean antara dua buah citra maka akan semakin mirip kedua citra tersebut. Persamaan untuk menghitung jarak euclidean adalah sebagai berikut:

Jarak euclidean dapat dihitung berdasarkan ciri khusus yang dimiliki oleh suatu citra. Ciri tersebut di antaranya adalah ciri warna, ciri tekstur, ciri bentuk, ciri geometri, dan ciri ukuran.

Berikut ini merupakan contoh aplikasi sistem pencocokan citra menggunakan jarak euclidean berdasarkan pada ciri warna. Ciri warna dihitung pada ruang warna HSV yang terdiri dari komponen Hue, Saturation, dan Value. Sistem pencocokan citra diimplementasikan dalam bentuk tampilan GUI menggunakan bahasa pemrograman MATLAB.

Langkah-langkah pemrogramannya adalah sebagai berikut:

1. Mempersiapkan data base citra

-read more->

Pengolahan Citra Digital


Pengolahan Citra Digital (Digital Image Processing) merupakan bidang ilmu yang mempelajari tentang bagaimana suatu citra itu dibentuk, diolah, dan dianalisis sehingga menghasilkan informasi yang dapat dipahami oleh manusia.

Sebelum mempelajari lebih lanjut mengenai pengolahan citra digital, kita perlu mengetahui definisi dari citra itu terlebih dahulu.

Citra merupakan fungsi dari intensitas cahaya yang direpresentasikan dalam bidang dua dimensi.

Berdasarkan bentuk sinyal penyusunnya, citra dapat digolongkan menjadi dua jenis yaitu citra analog dan citra digital. Citra analog adalah citra yang dibentuk dari sinyal analog yang bersifat kontinyu, sedangkan citra digital adalah citra yang dibentuk dari sinyal digital yang bersifat diskrit.

Citra analog dihasilkan dari alat akuisisi citra analog, contohnya adalah mata manusia dan kamera analog. Gambaran yang tertangkap oleh mata manusia dan foto atau film yang tertangkap oleh kamera analog merupakan contoh dari citra analog. Citra tersebut memiliki kualitas dengan tingkat kerincian (resolusi) yang sangat baik tetapi memiliki kelemahan di antaranya adalah tidak dapat disimpan, diolah, dan diduplikasi di dalam komputer.

-read more->

Thresholding Citra


Citra digital merupakan representasi dari fungsi intensitas cahaya dalam bidang dua dimensi. Berdasarkan jenis warnanya, citra dapat dikelompokkan menjadi tiga jenis yaitu citra RGB, citra grayscale, dan citra biner.

Citra RGB

Citra Grayscale

Citra Biner

lena lena_gray lena_bw

Citra RGB merupakan citra yang tersusun oleh tiga kanal warna yaitu kanal merah, kanal hijau, dan kanal biru. Pada citra RGB 24-bit, masing-masing kanal warna memiliki nilai intensitas piksel dengan kedalaman bit sebesar 8-bit yang artinya memiliki variasi warna sebanyak 2^8 = 256 derajat warna (0 s.d 255). Setiap piksel pada citra RGB memiliki nilai intensitas yang merupakan kombinasi dari nilai R, G, dan B. Variasi warna pada setiap piksel pada citra RGB adalah sebanyak 256 x 256 x 256 = 16.777.216.

-read more->

Ekstraksi Ciri Citra Grayscale


Ekstraksi ciri merupakan tahapan yang sangat penting dalam pengenalan pola. Tahapan ini bertujuan untuk memperoleh informasi yang terkandung dalam suatu citra untuk kemudian dijadikan sebagai acuan untuk membedakan antara citra yang satu dengan citra yang lain.

Ekstraksi ciri dapat dilakukan setelah tahapan segmentasi citra (memisahkan antara objek dengan background) maupun tanpa segmentasi citra (objek adalah background dan background adalah objek).

Berikut ini merupakan contoh aplikasi pemrograman matlab untuk melakukan ekstraksi ciri citra grayscale baik yang didahului dengan tahapan segmentasi maupun tidak.

Langkah-langkah pemrogramannya yaitu:

A. Ekstraksi ciri didahului dengan segmentasi

1. Membaca dan menampilkan citra RGB asli

clc; clear; close all; warning off all;
I = imread('candy.png');
figure, imshow(I);

candy

-read more->

Jaringan Syaraf Tiruan untuk Identifikasi Jenis Bunga


Jaringan syaraf tiruan (neural network) merupakan algoritma yang mampu melakukan identifikasi suatu kelas berdasarkan ciri masukan yang diberikan. Algoritma ini akan melatihkan ciri masukan yang diberikan pada masing-masing kelas sehingga diperoleh suatu arsitektur jaringan dan bobot-bobot awal yang mampu memetakan ciri masukan ke dalam kelas keluaran.

Terdapat banyak jenis jaringan syaraf tiruan, di antaranya adalah backpropagation, perceptron, probablistik neural network, radial basis network, dll.

Berikut ini merupakan contoh aplikasi pemrograman matlab (menggunakan matlab r2015b) untuk mengidentifikasi jenis bunga menggunakan algoritma jaringan syaraf tiruan radial basis function (rbfnn). Pada proses pelatihan jaringan digunakan 100 citra latih yang terdiri dari 50 citra bunga dengan jenis kansas state flower dan 50 citra bunga berjenis marguerite daisy. Sedangkan pada proses pengujian digunakan 60 citra uji yang terdiri dari 30 citra bunga kansas state flower dan 50 citra bunga marguerite daisy.

Contoh citra bunga yang digunakan ditunjukkan pada gambar berikut.

-read more->

Cara Menghitung Nilai MSE, RMSE, dan PSNR pada Citra Digital


Mean Square Error (MSE), Root Mean Squared Error (RMSE), dan Peak Signal-to-Noise Ratio (PSNR) merupakan contoh parameter yang biasa digunakan sebagai indikator untuk mengukur kemiripan dua buah citra. Parameter tsb sering digunakan untuk membandingkan hasil pengolahan citra dengan citra awal atau citra asli. Persamaan yang digunakan untuk menghitung ketiga paramater tersebut adalah sebagai berikut:

MSE dan RMSE tidak memiliki satuan sedangkan satuan dari PSNR adalah desibel. Semakin mirip kedua citra maka nilai MSE dan RMSE nya semakin mendekati nilai nol. Sedangkan pada PSNR, dua buah citra dikatakan memiliki tingkat kemiripan yang rendah jika nilai PSNR di bawah 30 dB.

Berikut ini merupakan contoh pemrograman GUI matlab untuk menghitung nilai MSE, RMSE, dan PSNR. Ketiga nilai tersebut digunakan untuk menghitung tingkat kemiripan citra yang terkontaminasi derau/noise dengan citra asli dan citra hasil restorasi dengan citra asli. Derau aditif ditambahkan pada citra asli antara lain adalah derau impuls (salt & pepper), derau uniform, derau gaussian, dan derau rayleigh. Sedangkan filter yang digunakan untuk merestorasi citra antara lain adalah filter rata-rata dan filter median masing-masing menggunakan kernel berukuran 3 x 3 dan 5 x 5.

-read more->

Segmentasi Citra dengan Metode Thresholding


Thresholding merupakan salah satu metode segmentasi citra yang memisahkan antara objek dengan background dalam suatu citra berdasarkan pada perbedaan tingkat kecerahannya atau gelap terang nya. Region citra yang cenderung gelap akan dibuat semakin gelap (hitam sempurna dengan nilai intensitas sebesar 0), sedangkan region citra yang cenderung terang akan dibuat semakin terang (putih sempurna dengan nilai intensitas sebesar 1). Oleh karena itu, keluaran dari proses segmentasi dengan metode thresholding adalah berupa citra biner dengan nilai intensitas piksel sebesar 0 atau 1. Setelah citra sudah tersegmentasi atau sudah berhasil dipisahkan objeknya dengan background, maka citra biner yang diperoleh dapat dijadikan sebagai masking utuk melakukan proses cropping sehingga diperoleh tampilan citra asli tanpa background atau dengan background yang dapat diubah-ubah.

Berikut ini merupakan contoh pemrograman matlab mengenai aplikasi dari metode thresholding untuk melakukan segmentasi terhadap citra digital. Setelah objek berhasil disegmentasi, proses selanjutnya adalah mengganti-ganti background citra rgb asli

Langkah pemrogramannya adalah sebagai berikut:
1. Membaca dan menampilkan citra asli

clc; clear; close all;

% Object
Img = imread('the mario bros.jpg');
figure, imshow(Img);

Sehingga diperoleh tampilan

-read more->

Pengolahan Citra untuk Ekstraksi Ciri Objek


Ekstraksi ciri citra merupakan tahapan mengekstrak ciri atau informasi yang dimiliki oleh suatu objek dalam citra. Ciri atau informasi tersebut dapat digunakan untuk membedakan antara objek yang satu dengan objek lainnya.

Ekstraksi ciri citra merupakan tahapan yang sangat penting dalam sebuah sistem visi komputer. Tahapan ini menentukan baik tidaknya tingkat pengenalan objek yang dilakukan oleh komputer.

Dalam pemilihan ciri hendaknya memperhatikan hal-hal sebagai berikut:

  1. Secara visual, ciri apakah yang membedakan antara objek satu dengan lainnya. Apakah bentuknya, warnanya, teksturnya, ukurannya, atau geometrinya.
  2. Parameter apakah yang mewakili ciri tersebut. Misalnya secara visual antara objek satu dengan lainnya tampak berbeda ukurannya, maka parameter yang dapat digunakan untuk mengenali objek adalah luas.
  3. Menentukan jumlah parameter yang akan digunakan. Semakin banyak parameter pada umumnya tingkat pengenalan semakin baik. Namun harus dipastikan bahwa parameter-parameter yang digunakan benar-benar dapat membedakan antar objek.

Ciri yang diekstrak dalam tahapan ekstraksi ciri kemudian digunakan sebagai masukan dalam tahapan klasifikasi objek. Tahapan klasifikasi dapat menggunakan berbagai jenis algoritma ataupun dapat juga menggunakan aturan if else sederhana.

Berikut ini merupakan contoh aplikasi pemrograman komputer menggunakan bahasa pemrograman MATLAB untuk melakukan ekstraksi ciri objek dalam citra digital. Citra yang digunakan adalah citra ‘sand play set.jpg’ yang ditunjukkan pada gambar di bawah ini:

-read more->

Segmentasi Citra Grayscale dengan Metode K-Means Clustering


K-means clustering merupakan salah satu algoritma yang dapat mempartisi data menjadi beberapa region kluster. Proses partisi data didasarkan pada jarak terdekat antara data dengan centroid masing-masing kluster. Berikut ini merupakan salah satu contoh aplikasi pemrograman matlab mengenai segmentasi citra grayscale dengan metode k-means clustering. File citra yang digunakan adalah ‘cat.jpg’ di mana objek yang ingin disegmentasi adalah berupa hewan kucing, sedangkan background adalah berupa rumput.

Langkah-langkah segmentasi citra adalah sebagai berikut:
1. Membaca citra rgb asli

-read more->

Segmentasi Warna Citra Digital


Segmentasi citra merupakan suatu proses yang bertujuan untuk memisahkan antara region foreground dengan region background. Pemisahan tersebut didasarkan pada perbedaan karakteristik masing-masing region yang mencolok.

Pada contoh pemrograman ini, dilakukan segmentasi citra berdasarkan pada perbedaan warna antara foreground dengan background. Dalam citra digital, warna yang merupakan spektrum cahaya tampak (merah, jingga, kuning, hijau, biru, ungu) direpresentasikan oleh nilai Hue. Oleh sebab itu, proses segmentasi citra pada pemrograman ini dilakukan pada ruang warna HSV (Hue, Saturation, Value).

Langkah-langkah pemrograman matlab untuk melakukan segmentasi warna adalah sebagai berikut:
1. Membaca dan menampilkan citra asli. Citra yang digunakan adalah citra bird.jpg di mana foreground atau objek yang dimaksud adalah berupa burung.

clc; clear; close all; warning off all;

% Membaca citra asli
RGB = imread('bird.jpg');
figure, imshow(RGB);

diperoleh tampilan

-read more->