Category Archives: Pengolahan Citra
Pengolahan Citra Digital menggunakan GUI MATLAB
Segmentasi Pola Tekstur menggunakan Filter Gabor
Kemampuan sistem visual manusia dalam membedakan pola tekstur didasarkan pada kapabilitas dalam mengidentifikasikan berbagai frekuensi dan orientasi spasial dari tekstur yang diamati.
Filter Gabor merupakan salah satu filter yang mampu mensimulasikan karakteristik sistem visual manusia dalam mengisolasi frekuensi dan orientasi tertentu dari citra.
Karakteristik ini membuat filter Gabor sesuai untuk aplikasi pengenalan tekstur dalam bidang computer vision.
Berikut ini merupakan contoh aplikasi pemrograman matlab untuk melakukan segmentasi pola tekstur dari suatu citra menggunakan filter Gabor. Koding dapat dijalankan minimal menggunakan Matlab R2015b.
Langkah-langkah pemrogramannya yaitu:
1. Membaca dan menampilkan citra asli
clc;clear;close all;
% Read the image
I = imread('metal texture.jpg');
figure,imshow(I);
title('Original Image');
sehingga diperoleh tampilan
Segmentasi Warna menggunakan Algoritma Fuzzy C-Means Clustering
Fuzzy c-means clustering merupakan algoritma klustering yang mempartisi data berdasarkan pada jarak antara data masukan dengan pusat kluster terdekat. Sama seperti pada algoritma k-means clustering, pusat cluster selalu diupdate berulang-ulang hingga dihasilkan pembagian kluster yang optimal. Pada algoritma ini, perulangan didasarkan pada minimisasi fungsi objektif.
Berikut ini merupakan contoh aplikasi pemrograman matlab untuk melakukan segmentasi warna suatu citra digital menggunakan algoritma fuzzy c-means clustering. Citra yang digunakan adalah citra sky-grass.jpg yang memuat dua buah objek yaitu langit dan rumput seperti ditunjukkan pada gambar di bawah ini.
Ekstraksi Ciri Citra RGB
Berikut ini merupakan contoh aplikasi pemrograman matlab untuk melakukan proses ekstraksi ciri dari citra rgb. Ciri yang diekstrak adalah berupa ciri statistik dan ciri bentuk. Pada contoh ini digunakan citra fish.jpg di mana foreground adalah berupa ikan sedangkan background adalah berupa air.
Langkah-langkah pemrogramannya adalah sebagai berikut:
1. Membaca dan menampilkan citra asli
clc;clear;close all;
Img = imread('fish.jpg');
figure, imshow(Img), title('original image');
sehingga diperoleh tampilan:
Segmentasi Citra dengan Metode Multi Thresholding dan K-Means Clustering
Berikut ini merupakan contoh aplikasi pemrograman matlab untuk melakukan segmentasi citra dengan menggunakan dua buah metode yang berbeda. Metode yang pertama yaitu multi thresholding, sedangkan metode yang kedua adalah k-means clustering. Segmentasi dilakukan terhadap citra rose.jpg yang ditunjukkan pada gambar di bawah ini.
Jaringan Syaraf Tiruan untuk Klasifikasi Citra Daun
Salah satu penerapan dari algoritma jaringan syaraf tiruan adalah untuk proses klasifikasi citra. Berikut ini merupakan contoh aplikasi pemrograman matlab untuk melakukan klasifikasi terhadap citra daun. Citra daun dikelompokkan ke dalam 4 kelas spesies yaitu Bougainvillea sp, Geranium sp, Magnolia soulangeana, dan Pinus sp. Pada contoh ini digunakan 40 citra daun yang terdiri dari 10 citra pada masing-masing kelas. Contoh dari citra daun yang digunakan ditunjukkan pada gambar di bawah ini:
Langkah-langkah pemrogramannya adalah sebagai berikut:
1. Mempersiapkan citra latih dan citra uji. Pada contoh ini 40 citra daun dibagi menjadi dua bagian yaitu 24 citra untuk citra latih dan 16 citra untuk citra uji.
Pengolahan Citra Biner
Penghitungan terhadap atribut-atribut yang melekat pada suatu objek dalam citra digital secara sederhana dapat dilakukan dengan cara mengkonversi citra asli (RGB ataupun grayscale) menjadi citra biner terlebih dahulu. Setelah diperoleh citra biner, maka selanjutnya atribut-atribut (misalnya luas dan keliling) dapat dihitung. Namun terkadang citra biner tersebut perlu diolah lebih lanjut agar citra biner benar-benar tepat merepresentasikan objek yang dimaksud.
Berikut ini merupakan contoh aplikasi pemrograman matlab untuk melakukan proses segmentasi dan analisis citra. Langkah-langkah nya yaitu:
1. Membaca dan menampilkan citra asli. Pada contoh ini citra yang digunakan adalah citra ‘airplane.jpg’ di mana objek yang dikehendaki adalah berupa pesawat, sedangkan background adalah berupa langit.
clc; clear; close all; warning off all;
Img = imread('airplane.jpg');
figure, imshow(Img);
sehingga diperoleh tampilan
Pengolahan Citra untuk Deteksi Warna Kulit (Skin Detection)
Deteksi warna kulit (skin color detection) merupakan salah satu proses segmentasi yang memisahkan region objek dalam citra berdasarkan pada perbedaan warna. Objek yang memiliki warna tertentu dipisahkan dengan objek yang memiliki warna lainnya. Hasil segmentasi dapat digunakan untuk proses selanjutnya seperti ekstraksi ciri atau klasifikasi citra. Pada contoh ini, warna kulit didefiniskan dalam ruang warna YCbCr dengan nilai Cb antara 77 s.d 127 dan nilai Cr antara 133 s.d 173.
Deteksi warna kulit merupakan salah satu tahapan awal dalam computer vision untuk mendeteksi hal-hal yang berkaitan dengan manusia (people detection). Deteksi warna kulit dapat dijadikan sebagai metode segmentasi untuk pengenalan wajah (face recognition) maupun pengenalan organ tubuh lainnya. Sistem tersebut dapat dikembangkan lebih lanjut untuk sistem biometrik.
Langkah-langkah proses segmentasi warna kulit adalah sebagai berikut:
1. Melakukan penyeimbangan warna RGB (Color Balanced 24-bit RGB Image)
2. Melakukan transformasi ruang warna RGB menjadi YCbCr
3. Melakukan segmentasi warna kulit berdasarkan nilai Cb antara 77 s.d 127 dan nilai Cr antara 133 s.d 173
4. Menampilkan hasil segmentasi
Hasil segmentasi ditunjukkan pada gambar berikut:
| No | Citra Asli | Hasil Deteksi Warna Kulit |
| 1 | ![]() |
![]() |
| 2 | ![]() |
![]() |
| 3 | ![]() |
![]() |
| 4 | ![]() |
![]() |
Jaringan Syaraf Tiruan Untuk Pengenalan Pola
Berikut ini merupakan contoh aplikasi pemrograman matlab untuk mengklasifikasi bentuk suatu objek dalam citra digital menggunakan algoritma jaringan syaraf tiruan propagasi balik (backpropagation neural network).
Pada contoh ini dilakukan pengklasifikasian terhadap bentuk segi-3, segi-4, dan segi-5. Ciri yang digunakan untuk membedakan ketiga jenis bentuk tersebut adalah metric dan eccentricity.
Metric merupakan nilai perbandingan antara luas dan keliling objek. Sedangkan eccentricity merupakan nilai perbandingan antara jarak foci ellips minor dengan foci ellips mayor suatu objek. (Materi mengenai ekstraksi ciri lebih lanjut dapat dilihat pada laman berikut ini: Ekstraksi Ciri Citra).
Langkah-langkah pemrograman matlab untuk mengklasifikasi bentuk suatu objek dalam citra digital menggunakan matlab adalah sebagai berikut:
1. Menyiapkan data latih untuk proses pelatihan (training). Pada proses ini digunakan 45 citra data latih yang terdiri dari 15 citra segi-3, 15 citra segi-4, dan 15 citra segi-5.
Cara melakukan cropping citra secara otomatis
Dalam bidang pengolahan citra digital, segmentasi merupakan proses yang bertujuan untuk memisahkan suatu region dengan region lainnya. Pemisahan didasarkan pada perbedaan karakteristik antar region seperti perbedaan tingkat kecerahan, warna, tekstur, dll. Proses tersebut menghasilkan keluaran berupa citra biner di mana region yang telah tersegmentasi (pada umumnya disebut juga dengan foreground) akan berwarna putih atau bernilai 1. Sedangkan region lainnya (disebut juga dengan background) akan berwarna hitam atau bernilai 0.
Ada berbagai jenis metode segmentasi citra di antaranya adalah thresholding, active contour, deteksi tepi, transformasi hough, watershed, region growing, dll. Pada contoh ini ditunjukkan sebuah proses segmentasi citra dengan metode thresholding. Citra keluaran dari proses tersebut adalah citra biner yang kemudian digunakan untuk melakukan cropping dan juga perhitungan luas, keliling, dan centroid dari masing-masing objek.
Langkah-langkah pemrograman matlab untuk melakukan segmentasi citra adalah sebagai berikut:
1. Membaca citra asli
clc; clear; close all; warning off all;
originalImage = imread('doodles.jpg');
figure, imshow(originalImage);
sehingga diperoleh tampilan citra asli seperti pada gambar di bawah ini:
Ekualisasi Histogram pada Citra Digital
Histogram Citra merupakan diagram yang menunjukkan distribusi nilai intensitas cahaya pada suatu citra. Pada histogram, sumbu-x menyatakan nilai intensitas piksel sedangkan sumbu-y menyatakan frekuensi kemunculan piksel. Dalam bidang pengolahan citra digital, terkadang perlu dilakukan pre-processing yang merupakan proses perbaikan kualitas citra dengan tujuan untuk memudahkan manusia atau komputer untuk merepresentasikan citra. Salah satu metode perbaikan kualitas citra adalah perataan histogram atau yang sering disebut sebagai histogram equalization.
Berikut ini merupakan contoh aplikasi pemrograman matlab untuk melakukan ekualisasi histogram citra secara manual.
Langkah-langkahnya adalah:
1. Membaca citra grayscale
clc;clear;close all;
I = imread('pout.tif');
figure, imshow(I);
title('Original Image')






























































