Rabu, 19 Oktober 2016

Penggunaan Fungsi Histeq pada Matlab

Pada postingan kali ini, kita akan membahas mengenai penggunaan fungsi HISTEQ pada aplikasi MATLAB. Berikut contoh koding pada matlab untuk membuat Histogram Equalisation pada sebuah citra
Buat sebuah m-file pada matlab..
copykan koding berikut

function [ output_args ] = Histeq( input_args )
%membaca gambar yang akan diproses
A = imread('camera.bmp');
%mengubah gambar menjadi grayscale
B = 0.5*A(:,:,1);

%melakukan proses penyamaan histogram terhadap citra
C = histeq(B);
%menampilkan citra asli dan histogramnya
figure;subplot(2,1,1);
imshow(A);
title('image asli');
subplot(2,1,2);
imhist(A);
title('histogram gambar asli');
%menampilkan citra yang telah digrayscale beserta histogramnya
figure;subplot(2,1,1);
imshow(B);
title('image grayscale');
subplot(2,1,2);
imhist(B);
title('histogram gambar grayscale');
%menampilkan citra yang telah diequalisasi beserta histogramnya
figure;subplot(2,1,1);
imshow(C);
title('image equalisasi');
subplot(2,1,2);
imhist(C);
title('histrogram equalisasi');
end
note : untuk membuat histogram (melihat derjat keabuan) pada matlab cukup menggunakan fungsi imhist(gambarnya);


Jika anda lihat histogram pada citra awal histogramnya, tingkat keabuan cendrung lebih banyak disebelah kiri dan tengah. Fungsi dari histogram equalisasi adalah meratakan derjat keabuan sehingga gambar/citra tidak terlalu gelap atau terlalu terang. Hasi dari histogram equalisasi :


Selamat mencobanya teman-teman semua.

Teori Konvolusi Pada Pengolahan Citra

Pada pembahasan kali ini mengenai konsep matematis yang melandasi teori pengolahan citra. Dua operasi matematis penting yang perlu dipahami dalam mempelajari pengolahan citra digital adalah operasi konvolusi. Konvolusi terdapat pada operasi pengolahan citra yang mengalikan sebuah citra dengan sebuah mask atau kernel (akan dijelaskan kemudian).

Operasi yang mendasar dalam pengolahan citra adalah operasi Konvolusi. Konvolusi 2 buah fungsi f(x) dan g(x) dedefinisikan sebagai berikut :


yang dalam hal ini tanda * menyatakan operasi konvolusi, dan peubah (variabel) a adalah peubah bantu (dummy variabel).

untuk fungsi diskrit, konvolusi didefinisikan sebagai



Pada operasi konvolusi di atas, g(x) disebut kernel konvolusi atau kernel penapis (filter). Kernel g(x) merupakan suatu jendela yang dioperasikan secara bergeser pada sinyal masukkan f(x), yang dalam hal ini, jumlah perkalian kedua fungsi pada setiap titik merupakan hasil konvolusi yang dinyatakan dengan keluaran h(x).


Contoh konvolusi yang lain adalah dengan fungsi delta. Ada dua macam fungsi delta : delta Dirac dan delta Kronecker.


Fungsi delta Dirac disebut juga fungsi denyut (impuls). Fungsi ini bernilai 0 untuk, dan "lebar" denyut sama dengan 1. Secara matematis fungsi delta Dirac didefinisikan sebagai



Sifat-sifat fungsi delta Dirac :



Fungsi delta Dirac adalah fungsi dengan daerah asal bilangan riil. Bila kita bekerja dengan fungsi diskrit, maka fungsi delta yang digunakan adalah fungsi delta Kronecker, yang didefinisikan sebagai





dengan sifat




Bentuk dwimatra dari fungsi delta diperoleh dengan mengalikan bentuk satumatranya :


Dirac : d(x,y) = d(x)d(y)

Kronecker : d(m,n) = d(m) d(n)
Hasil konvolusi fungsi f(x) pada Gambar (a) dengan fungsi g(x) = d(x+T) + d(x) + d(x-T) pada Gambar (b) ditunjukkan pada Gambar (c).


Salah satu penggunaan fungsi delta adalah melakukan penerokan (sampling) pada sinyal malar f(x). Prosses penerokan umumnya dilakukan pada periode yang tetap. Jika sinyal malar f(x) diterok dengan periode tetap T, maka diperoleh serangkaian nilai diskrit fd(n):





Konvolusi Pada Fungsi Dwimatra

Untuk fungsi dengan dua peubah (fungsi dua dimensi atau dwimatra), operasi konvolusi didefinisikan sebagai berikut :

a) Untuk fungsi malar

b) untuk fungsi diskrit

Fungsi penapis g(x,y) disebut juga convolution filter, convolution mask, convolution kernel, atau template. Dalam ranah diskrit kernel konvolusi dinyatakan dalam bentuk matriks (umumnya 3X3, namun ada juga yang berukuran 2 x 2 atau 2 x 1 atau 1 x 2). Ukuran matriks ini biasanya lebih kecil dari ukuran citra. setiap elemen matriks disebut koefisien konvolusi.


Ilustrasi konvolusi ditunjukkan pada Gambar 13. f(i,j) = Ap1 + Bp2 + Cp3 + Dp4 + Ep5 + Fp6 + Gp7 + Hp8 + ip9


Gambar 13. Ilustrasi Konvolusi

Operasi konvolusi dilakukan dengan menggeser kernel konvolusi pixel per pixel. Hasil konvolusi disimpan di dalam matriks yang baru.

Contoh. Misalkan citra f(x,y) yang berukuran 5 x 5 dan sebuah kernel atau mask berukuran 3 x 3 masing-masing adalah sebagai berikut :

(Keterangan : Tanda . menyatakan posisi (0,0) dari kernel)

Karena konvolusi dilakukan per pixel dan untuk setiap pixel dilakukan operasi perkalian dan penjumlahan, maka jelas konvolusi mengkonsumsi banyak waktu. Jika citra berukuran N x N dan kernel berukuran m x m, maka jumlah perkalian adalah dalam orde N2m2. Sebagai contoh jika citra berukuran 512 x 512 dan kernel berukuran 16 x 16, maka ada sekitar 32 juta perkalian yang dibutuhkan. Ini jelas tidak cocok untuk proses yang real time tanpa perangkat keras yang dedicated. 

Satu cara mengurangi waktu komputasi adalah mentransformasi citra dan kernel ke dalam ranah frekuensi (dengan menggunakan Transformasi Fourier – akan diuraikan di Bagian ke-tiga), selanjutnya konvolusi dilakukan dalam ranah waktu. Keuntungan utama dari penggunaan ranah frekuensi adalah proses konvolusi dapat diterapkan dalam bentuk perkalian langsung.

Sumber :
https://sites.google.com/site/riksongultom/materi-mkom/matematika-dan-statistika-untuk-komputasi/konvolusi-dan-transformasi-fourier

http://topikisblog.blogspot.co.id/2015/01/konvolusi-pada-pengolahan-citra.html

Jumat, 14 Oktober 2016

Metode Penjadwalan Proyek

Metode penjadwalan proyek merupakan sebuah metode yang digunakan agar kitadapat secara sistematis menyusun dan merencanakan sebuah proyek yang akan kita kerjakan.Didalam metode ini kita akan mengenal buah metode yang umum digunakan dalam penjadwalan proyek, yakni:

Gantt Chart

Gantt chart merupakan salah satu metode dalam penjadwalan proyek. Metode inimenggunakan tampilan yang mirip seperti jadwal pada umumnya.

Gambar Tampilan Gantt Chart

Seperti halnya sebuah metode biasa, Gantt Chart juga memiliki kelebihan dan jugakelemahan.

Kelebihan Gantt Chart
- Umum digunakan
- Menyediakan representasi grafis yang mudah dipahami
- Sesuai untuk proyek sederhana

Kelemahan Gantt Chart 
-Tidak merepresentasikan relasi antar aktivitas
- Tidak memberi gambaran progress yang jelas
- Tidak memberikan informasi mengenai waktu pengerjaan tercepat/terlama

Diagram PERT
PERT (Program Evaluation and Review Technique) adalah sebuah model padamanajemen proyek yang didesain untuk menganalisis dan merepresentasikan pekerjaan- pekerjaan di dalam proyek. PERT dikembangkan tahun 1950-an oleh US Navy untuk proyekPolaris. Critical Path Method (CPM) merupakan nama lain dari Diagram PERT.Diagram PERT merepresentasikan urutan aktivitas atau kebergantungan antaraaktivitas. Urut-urutan aktivitas tersebut direpresentasikan dalam bentuk diagram jaringan(network diagram) atau diagram panah (arrow diagram). Sama seperti Gantt Chart, Diagram PERT juga memiliki kelebihan dan jugakekurangan.

Kelebihan
- Merepresentasikan relasi antar aktivitas
- Sesuai untuk proyek besar
- Lebih efisien

Kekurangan
- Sulit dalam pengembangan dan pengelolaanDiagram PERT (jaringan) terdiri dari notasi:
- Panah (arrow) : merepresentasikan kegiatan (activity)
- Simpul (node): merepresentasikan kejadian (event )



Aturan Dasar Diagram PERT
· Setiap kegiatan hanya boleh direpresentasikan oleh satu panah.
· Tidak boleh terdapat dua kegiatan (panah) dari satu kejadian yang menunjuk ke kejadianlain yang sama.

Avoid Croses => aturan yang menyatakan bahwa diagram PERT tidak boleh saling bertabrakan. Karena dikhawatirkan akan terjadi makna yang ambigu.


Avoid Loops => aturan yang menyatakan bahwa diagram PERT boleh dibuatmengelilingi satu sama lain. Dengan syarat tidak melanggar aturan dasar dari pembuatandiagram PERT.



Kegiatan Dummy

Terkadang dua kegiatan dari satu kejadian yang menuju ke satu kejadian dapat terjadi pada diagram PERT. Agar tidak menyalahi aturan, diperlukan kegiatan dummy (dummy activity) di dalam penggambarannya.



Jalur Kritis

Aktivitas utama diagram PERT adalah untuk mengidentifikasi jalur kritis (critical path). Jalur kritis merupakan jalur terpanjang yang saling berhubungan langsung dan tidak dapat ditunda. Jalur kritis menyatakan kegiatan kritis dari awal hingga akhir. Penundaan kegiatan kritis akan memengaruhi waktu penyelesaian seluruh proyek.

Langkah-Langkah Pembuatan PERT

· Identifikasi kegiatan dan kejadian
· Menetapkan urutan kegiatan
· Membuat diagram jaringan
· Estimasi waktu untuk setiap kegiatan
· Menspesifikasikan jalur kritis
· Meng-update diagram sesuai kemajuan proyek

Manfaat Diagram PERT

  • · Mengetahui ketergantungan dan keterhubungan tiap pekerjaan dalam suatu proyek.
  • · Memudahkan identifikasi tingkat prioritas pekerjaan.
  • · Dapat mengetahui implikasi dan waktu jika terjadi keterlambatan suatu pekerjaan.
  • · Dapat mengetahui kemungkinan untuk mencari jalur alternatif lain yang lebih baik untukkelancaran proyek.
  • · Dapat mengetahui kemungkinan percepatan dari salah satu atau beberapa jalur kegiatan.
  • · Dapat mengetahui batas waktu penyelesaian proyek.


Kamis, 06 Oktober 2016

Thresholding Citra

Berikut ini merupakan tutorial cara membuat citra berwarna (RGB) menjadi hitam putih (biner) menggunakan Graphical User Interface (GUI) MATLAB

Langkah-langkahnya yaitu:

1. Buatlah rancangan GUI MATLAB yang terdiri dari 2 axes, 3 pushbutton, 1 slider, dan 1 edit text seperti tampak pada gambar di bawah ini





2. Hapus xTick, yTick, dan zTick pada masing-masing axes

3. Ubahlah string pada masing-masing pushbuttton dengan nama Open Image, Grayscale, dan Save Image

4. Hapuslah string pada edit text

5. Ubahlah Min slider menjadi 0 dan Max menjadi 255,

sehingga tampilan GUI tampak pada gambar berikut:





6. Ketika di Run maka akan tampak seperti pada gambar di bawah ini
3
7. Klik Open Image, pilih gambar yang ingin diproses

4

8. Klik Grayscale

5
9. Geser nilai Slider




10. Citra hitam putih yang terbentuk dapat disimpan dengan cara meng-klik tombol Save Image.

sumber : https://pemrogramanmatlab.wordpress.com/2016/09/30/thresholding_citra/#more-17

Pengertian Pengolahan Citra

Citra atau Image merupakan istilah lain dari gambar, yang merupakan informasi berbentuk visual. Suatu citra diperoleh dari penangkapan kekuatan sinar yang dipantulkan oleh objek. Ketika sumber cahaya menerangi objek, objek memantulkan kembali sebagian cahaya tersebut. Pantulan ini ditangkap oleh alat-alat pengindera optik, misalnya mata manusia, kamera, scanner dan sebagainya. Bayangan objek tersebut akan terekam sesuai intensitas pantulan cahaya. Ketika alat optik yang merekam pantulan cahaya itu merupakan mesin digital, misalnya kamera digital, maka citra yang dihasilkan merupakan citra digital. Pada citra digital, kontinuitas intensitas cahaya dikuantisasi sesuai resolusi alat perekam. 

Suatu citra adalah fungsi intensitas 2 dimensi f(x, y), dimana x dan y adalah koordinat spasial dan f pada titik (x, y) merupakan tingkat kecerahan (brightness) suatu citra pada suatu titik. Citra digital adalah citra f(x,y) yang telah dilakukan digitalisasi baik koordinat area maupun brightness level. Nilai f di koordinat (x,y) menunjukkan brightness atau grayness level dari citra pada titik tersebut. 

Citra Digital adalah representasi dari sebuah citra dua dimensi sebagai sebuah kumpulan nilai digital yang disebut elemen gambar atau piksel. Piksel adalah elemen terkecil yang menyusun citra dan mengandung nilai yang mewakili kecerahan dari sebuah warna pada sebuah titik tertentu. Umumnya citra digital berbentuk persegi panjang atau bujur sangkar (pada beberapa sistem pencitraan ada pula yang berbentuk segienam) yang memiliki lebar dan tinggi tertentu. Ukuran ini biasanya dinyatakan dalam banyaknya piksel sehingga ukuran citra selalu bernilai bulat. Setiap piksel memiliki koordinat sesuai posisinya dalam citra. Koordinat ini biasanya dinyatakan dalam bilangan bulat positif, yang dapat dimulai dari 0 atau 1 tergantung pada sistem yang digunakan. Setiap piksel juga memiliki nilai berupa angka digital yang merepresentasikan informasi yang diwakili oleh piksel tersebut. Format data citra digital berhubungan erat dengan warna. Pada kebanyakan kasus, terutama untuk keperluan penampilan secara visual, nilai data digital merepresentasikan warna dari citra yang diolah. Format citra digital yang banyak dipakai adalah Citra Biner (monokrom), Citra Skala Keabuan (gray scale), Citra Warna (true color), dan Citra Warna Berindeks. 

Pengolahan citra adalah sebuah proses pengolahan yang inputnya adalah citra. Otuputnya dapat berupa citra atau sekumpulan karakteristik atau parameter yang berhubungan dengan citra. Istilah pengolahan citra digital secara umum didefinisikan sebagai pemrosesan citra dua dimensi dengan komputer. Dalam definisi yang lebih luas, pengolahan citra digital juga mencakup semua data dua dimensi. Citra digital adalah barisan bilangan nyata maupun kompleks yang diwakili oleh bit-bit tertentu. 


Pengolahan citra memiliki beberapa fungsi, diantaranya adalah: 

  1. Digunakan sebagai proses memperbaiki kualitas citra agar mudah diinterpretasi oleh manusia atau komputer. 
  2. Digunakan untuk Teknik pengolahan citra dengan mentrasformasikan citra menjadi citra lain. Contoh : pemampatan citra (image compression) Sebagai proses awal (preprocessing) dari komputer visi. 

Pengolahan citra dapat dibagi kedalam tiga kategori yaitu : 

  • Kategori rendah melibatkan operasi-operasi sederhana seperti pra-pengolahan citra untuk mengurangi derau, pengaturan kontras, dan pengaturan ketajaman citra. Pengolahan kategori rendah ini memiliki input dan output berupa citra. 
  • Pengolahan kategori menengah melibatkan operasi-operasi seperti segmentasi dan klasifikasi citra. Proses pengolahan citra menengah ini melibatkan input berupa citra dan output berupa atribut (fitur) citra yang dipisahkan dari citra input. Pengolahan citra kategori melibatkan proses pengenalan dan deskripsi citra. 
  • Pengohalan kategori tinggi ini termasuk menjadikan objek-objek yang sudah dikenali menjadi lebih berguna, berkaitan dengan aplikasi, serta melakukan fungsi-fungsi kognitif yang diasosiasikan dengan vision.