Selasa, 18 Oktober 2016

Step By step membuka dan menampilkan gambar dengan menggunakan Matlab dalam Pengolahan Citra

Pengolahan Citra


Pengolahan citra adalah salah satu cabang dari ilmu informatika. Pengolahan citra berkutat pada usaha untuk melakukan transformasi suatu citra/gambar menjadi citra lain dengan menggunakan teknik tertentu. Pengolahan citra merupakan bidang yang bersifat multidisiplin, yang terdiri dari banyak aspek, antara lain fisika, elektronika, matematika, seni dan teknologi komputer. Pengolahan citra (image processing) memiliki hubungan yang sangat erat dengan disiplin ilmu yang lain. jika sebuah ilmu disiplin ilmu dinyatakan dengan bentuk proses suatu input menjadi output, maka pengolahan citra memiliki input berupa citra serta output juga berupa citra.

Pengolahan citra adalah istilah umum untuk berbagai teknik yang keberadaannya untuk memanipulasi dan memodifikasi citra dengan berbagai cara. Foto adalah contoh gambar berdimensi dua yang bisa diolah dengan mudah.Setiap foto dalam bentuk citra digital (misalnya berasal dari kamera digital) dapat diolah melalui perangkat-lunak tertentu. Pengolahan citra merupakan bagian penting yang mendasari berbagai aplikasi nyata, seperti pengenalan pola, penginderaan jarak-jauh melalui satelit atau pesawat udara, dan machine vision

Berikut prinsip dasar dalam pengolahan citra:

1. Peningkatan kecerahan dan kontras
Citra yang diproses seringkali dalam keadaan terdistorsi atau mengandung derau, untuk kepentingan tertentu derau tersebut perlu dibersihkan terlebih dahulu. Dalam pengolahan citra metode yang dapat dipakai untuk keperluan tersebut salah satunya cara yang dilaksanakan melalui filter notch.

2. Penghilangan derau
Untuk kepentingan mengenali suatu objek di dalam citra, objek perlu dipisahkan terlebih dahulu dari latar belakangnya. Salah satu pendekatan yang umum dipakai untuk keperluan ini adalah penemuan batas objek. Dalam hal ini batas objek berupa bagian tepi objek. Setelah tepi objek diketahui pencarian ciri terhadap objek dapat dilaksanakan.

3. Pencarian bentuk objek
Untuk kepentingan mengenali suatu objek di dalam citra, objek perlu dipisahkan terlebih dahulu dari latar belakangnya. Salah satu pendekatan yang umum dipakai untuk keperluan ini adalah penemuan batas objek. Dalam hal ini batas objek berupa bagian tepi objek. Setelah tepi objek diketahui pencarian ciri terhadap objek dapat dilaksanakan.


Cara Membuka dan Menampilkan Gambar Dengan Menggunakan Matlab

GUI merupakan salah satu fitur dalam matlab yang digunakan untuk menyajikan tampilan yang mudah untuk digunakan atau dibaca oleh pengguna (dalam istilahnya disebut juga aplikasi yang user friendly). GUI (Grapichal User Interface) sering digunakan untuk membuat simulasi aplikasi dekstop. Banyak orang yang menggunakan fitur ini sebagai medianya. Pada kesempatan kali ini, kita akan belajar cara membuka (browse) image dan menampilkannya dengan menggunakan GUI pada Matlab. Langkah pertama tentu saja jita harus membuat framework GUI Matlab terlebih dahulu. 

Langsung saja berikut tutorial cara membuka (browse) image dan menampilkannya dengan menggunakan GUI :

1. Kita buat Lembar kerja GUI dengan nama membuka_image.fig.



2. Kemudian drag and drop icon push button,  label, dan axis yang ada didalam kotak merah (lakukan seperti arah panah) kedalam panel lembar kerja.



3. Kemudian klik 2 kali tiap-tiap yang sudah didrag and drop dan isi bagian kolom string dan tag. Sebagai contoh klik push button 2 kali, maka akan muncul uicontrol seperti gambar berikut. Isikan string dengan nama browse dan tag dengan nama buka_gambar.  String digunakan sebagai tampilan icon sedangkan tag digunakan sebagai variabel identitasnya yang nanti bisa dipanggil didalam program. Perlu diperhatikan bahwa dalam membuat nama tag tidak boleh menggunakan karakter spasi.



Masing-masing item isikan dengan :
  1. Label 1 -> string : Input Image (untuk icon label, tag tidak perlu diisi).
  2. Push button -> string : browse, tag : buka_gambar.
  3. Label 2 -> string : show_image (untuk icon label, tag tidak perlu diisi).
  4. Axis -> tag : image_asli (untuk icon axis, string tidak perlu diisi)
  5. Setelah itu klik kanan icon push button, kemudian pilih View Callbacks -> Callbacks.

Maka akan muncul source code Mfile nya dan kemudian ketikkan kode program untuk membuka image seperti berikut ini.


% — Executes on button press in buka_gambar.
function buka_gambar_Callback(hObject, eventdata, handles)
% hObject handle to buka_gambar (see GCBO)
% eventdata reserved – to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
[FileName,PathName]=uigetfile(‘*.jpg’,’Select Image file’);
im = imread([PathName,FileName]);
handles.im=im; % menyimpan nilai variabel
guidata(hObject,handles); % instruksi simpan object
axes(handles.image_asli); % memasukkan nilai variabel pada axis
imshow(im); % menampilkan image hasil browse

Catatan : image yang akan kita buka berektensi (.jpg). Untuk bisa membuka image dengan ektensi yang lain misalnya (.png), kita tinggal mengganti source codenya (.jpg) diganti dengan (.png).

5. Kemudian save dan coba tes jalankan aplikasi dengan mengklik icon run (segitiga warna hijau). Maka akan muncul seperti gambar berikut.


6. Kemudian klik browse untuk membuka image yang anda inginkan.


7. Jika langkah-langkahnya sudah kita lakukan dengan benar, maka akan muncul tampilan seperti berikut.


Catatan : image yang tampil diatas hanya sebagai contoh. Image yang muncul tergantung dari image yang anda buka.

Sumber :: 

http://hwsmartsolution.com/blog/2016/01/30/cara-membuka-dan-menampilkan-image-dengan-menggunakan-gui-matlab/

https://www.academia.edu/7385678/Pengolahan_Citra_Digital?auto=download

http://dsrjaringan.blogspot.co.id/2016/10/pengolahan-citra-dan-cara-membuka-dan.html

Senin, 17 Oktober 2016

Hiking Dan Trekking

Hiking Dan Trekking

Antara Hiking Dan Trekking adakah perbedaannya? Sering kita mendengar dua istilah tersebut secara bersamaan dan akhirnya banyak yang bingung, kegiatan petualangannya masuk kategori yang mana? Apakah Hiking atau Trekking. Dua istilah tersebut memang akrab bagi penggiat alam terbuka, tetapi marilah kita lebih mengetahui perbedaan antara Hiking Dan Trekking.


https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQ78hZg_OxxsPs7hwAD3q82x1kdCqKgMZwEnsxOy_W3gL3HgAgeQjxBnoLhuI3F7BS67AXj8jPY0BKKHe0bYAoQ4n0yJIzu9kGKBanHx43mRiF2RJG66LfOA32d2-bOhAZijwvDqQYXCY/s1600/hiking.jpeg

Mungkin Anda mendengar rekan Anda merasa bangga dengan trekkingnya mendaki gunung Bromo dan Penanjakan untuk melihat view sempurna pegunungan Tengger. Atau di waktu tertentu Anda mendapatkan tugas dari senior Anda untuk melakukan hiking selama berhari - hari lamanya camping di hutan dengan tujuan membuat jalur baru ke gunung.

Dari pernyataan di atas benarkah mendaki gunung Bromo termasuk ke dalam kategori trekking? Sementara pembuatan jalur baru ke gunung ( penebasan ) termasuk kategori hiking?

Hiking adalah salah satu kegiatan outdoor dimana pelakunya melakukan aktivitas berjalan kaki sebagai kegiatan rekreatif dan olahraga. Biasanya tempat yang di tuju adalah lokasi yang memiliki panorama indah, dengan jalur yang sudah di buat.

Trekking adalah perjalanan panjang dilakukan dengan berjalan kaki di daerah yang biasanya tidak ada sarana transportasi tersedia disana, pada jalur yang belum dipetakan, serta di lingkungan yang menantang, mungkin berbukit atau pegunungan.

PERBEDAAN SIGNIFIKAN ANTARA HIKING DAN TREKKING

Lokasi
Lokasi tujuan hiking biasanya sudah memiliki jalur yang sudah di buat sebelumnya, bahkan di beberapa spot sudah di bangun papan penunjuk sehingga memudahkan pelakunya, sementara trekking di lakukan di daerah yang sarana transportasi masih belum ada. Contohnya di daerah pegunungan yang memiliki hutan belantara sehingga pandangan kita menjadi terbatas.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpaewuz5zA6cYzFNAEWbOWCHGc76HlJyREgQb5Z-cD0stZT0syOibNp7VfPYtiD4A6Up4dKhBO9dQ8BL3J2b37amNh_xW4Hq8j7DjpQ3_e6kBxVDvhhKZartDzJzdIkGrgRneKix7S8gc/s1600/trekking.jpeg 


Waktu
Waktu yang di butuhkan untuk melakukan hiking tidak terlalu lama bisa tercapai dalam sehari, sementara trekking membutuhkan waktu yang relatif lama, berhari - hari bahkan bisa berminggu - minggu saat melakukan perjalanan. Lamanya waktu dalam trekking di karenakan jalurnya yang panjang maupun pemecahan dalam menghadapi bentuk topografi medannya.

Jarak Tempuh
Jarak tempuh hiking singkat, sementara trekking jarak tempuhnya sangat panjang.

Dari pengertian dan perbedaan ini bisa di simpulkan jika mendaki gunung Bromo merupakan kegiatan hiking, sementara pembuatan jalur bisa di artikan sebagai trekking. source

Pengolan Citra Konvolusi

Konvolusi (convolution) adalah sebuah proses dimana citra dimanipulasi dengan menggunakan eksternal mask / subwindows untuk menghasilkan citra yang baru. Sedangkan Filtering tanpa menggunakan ekternal mask tetapi hanya menggunakan pixel tetangga untuk mendapatkan pixel yang baru.

Konvolusi sangat banyak dipergunakan dalam pengolahan citra untuk memperhalus (smoothing), menajamkan (crispening), mendeteksi tepi (edge detection), serta efek lainnya.

1. Embossing
Embossing yaitu membuat citra seolah diukir pada permukaaan selembar nikel. Koefisien jendela konvolusi memiliki bobot tengah bernilai 0 & jumlah seluruh bobot = 0.

2. Blurring
Blurring (Pengaburan) yaitu filter spasial low-pass yang melenyapkan detil halus dari suatu citra. Pengaburan dicapai melalui konvolusi dari seluruh koefisien mask bernilai sama. Blurring ini perataan nilai pixel-pixel tetangga, makin besar ukuran mask maka makin besar efek pengaburan

3. Sharpening
Sharpening (Penajaman) yaitu memperjelas detil suatu citra(menambah kontras) dengan penjumlahan atas citra tepi dengan citra aslinya maka bagian tepi objek akan terlihat berbeda dengan latarnya, sehingga citra terkesan lebih tajam.

4. Edge Detection
Deteksi tepi yaitu proses menentukan lokasi titik-titik yang merupakan tepi objek.

Demikianlah pembahasan tentang Proses Konvolusi untuk mengolah citra.
tag : konvolusi adalah , konvolusi citra digital , proses konvolusi , konvolusi , konvolusi pengolahan citra , pengertian blurring , pengertian sharpening , konvolusi pada pengolahan citra , pengertia konvulsi , proses konvolusi citra


Proses Konvolusi
Pada pengolahan citra digital proses konvolusi merupakan perkalian konvolusi antara matrik citra asal dengan matrik tapis atau tapis atau mask. Operasi konvolusi sebagai fungsi diskrit 2 dimensi dapat didefinisikan dengan persamaan berikut ini.

Ilustrasi Proses Konvolusi

Ilustrasi proses konvolusi dari Persamaan di atas ditunjukkan pada gambar di bawah :
Operasi konvolusi dilakukan dengan menggeser mask konvolusi pixel per pixel mulai dari posisi kiri atas sampai posisi kanan bawah yang sering disebut dengan sliding window. Hasil dari proses konvolusi disimpan pada matrik yang baru dengan posisi koordinat yang sama.


Perataan Histogram Equalization pada MATLAB

Perbaikan kualitas citra (image enhancement) adalah salah satu proses awal dalam pengolahan citra (image preprocessing). Perbaikan kualitas diperlukan krn seringkali citra yg dijadikan objek pembahasan mempunyai kualitas yg buruk, Misalnya citra mengalami derau (noise) pada saat pengiriman melalui saluran transmisi, citra terlalu terang/gelap, citra kurang tajam, kabur, & sebagainya. Untuk memperbaiki kualitas citra ini salah satunya adalah dengan Histogram Equalization (perataan histogram). Tujuan dari perataan histogram adalah untuk memperoleh penyebaran histogram yg merata, sedemikian sehingga setiap derajat keabuan memiliki jumlah pixel yg relatif sama.

Perataan Histogram Equalization pada MATLAB
Histogram dari gambar sebelum dan sesudah pemerataan.

Perataan Histogram

Teknik perataan histogram merupakan gabungan antara penggeseran dan pelebaran histogram. Tujuan yang akan dicapai pada teknik ini adalah untuk mendapatkan citra dengan daerah tingkat keabuan yang penuh dan dengan distribusi pixel pada setiap tingkat keabuan yang merata. Dengan kata lain, Tujuan dari perataan histogram ini adalah untuk memperoleh penyebaran histogram yang merata, sedemikian sehingga setiap derajat keabuan memiliki jumlah pixel yang relative sama.

Perataan histogram mengubah derajat keabuan suatu pixel (r) dengan derajat keabuan yang baru dengan suatu fungsi transformasi T, dimana s=T(r).

Sifatnya

– Nilai s adalah pemetaan 1 ke 1 dari r, sehingga r dapat diperoleh dari transformasi invers

r = T-1(s) , 0 <= s <= 1

– Untuk 0<= ri <= 1, maka 0 <= T(r) <=

Seperti yang anda sekalian ketahui sebelumnya, bahwa dari sekian banyaknya warna yang ada dalam suatu gambar itu terdiri atau terbentuk dari perpaduan tiga warna dasar yaitu merah, hijau, dan biru atau yang lebih dikenal dengan sebutan ‘RGB’. Histogram suatu gambar ini bertujuan untuk menampilkan tingkat masing-masing RGB dari suatu gambar.

Implementasi

Pertimbangkan grayscale citra diskrit {x} dan membiarkan ni menjadi jumlah kemunculan grey tingkat i. Probabilitas terjadinya dari pixel tingkat i dalam gambar adalah

\ p_x(i) = p(x=i) = \frac{n_i}{n},\quad 0 \le i < L

L menjadi jumlah tingkat abu-abu pada gambar (biasanya 256), n adalah jumlah total piksel dalam gambar, dan p_x (i) pada kenyataannya histogram gambar untuk nilai pixel i, normalisasi untuk [0,1] .

Mari kita juga menentukan fungsi distribusi kumulatif sesuai dengan PX sebagai

\ cdf_x(i) = \sum_{j=0}^i p_x(j)

yang juga akumulasi histogram normalisasi gambar itu.

Kita ingin membuat transformasi bentuk y = T (x) untuk menghasilkan gambar baru {y}, dengan histogram datar. Seperti gambar akan memiliki fungsi distribusi kumulatif linier (CDF) di berbagai nilai, yaitu

\ cdf_y(i) = iK

untuk beberapa konstan K. Sifat dari CDF memungkinkan kita untuk melakukan seperti transformasi (lihat fungsi distribusi Inverse); didefinisikan sebagai

\ cdf_y(y^\prime) = cdf_y(T(k)) = cdf_x(k)

di mana k adalah dalam rentang [0, L). Perhatikan bahwa peta T tingkat ke kisaran [0,1], karena kami menggunakan histogram normalized {x}. Untuk memetakan nilai-nilai kembali ke kisaran asli mereka, berikut transformasi sederhana perlu diterapkan pada hasil:

\ y^\prime = y \cdot(\max\{x\} - \min\{x\}) + \min\{x\}

Histogram Equalization pada MATLAB

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, hijua saja, biru saja atau grayscale.

Di dalam MATLAb sudah terdapat suatu fungsi yg dpt melakukan proses pemerataan histogram, yaitu C = histeq(B);

Implementasi Fungsi Histogram Equalization pada MATLAB

Berikut ini adalah source code program pada MATLAB :

Source Code Matlab

function tugasHisteq_1


%membaca gambar yg akan diproses

A = imread('cewek1.jpg');
%mengubah gambar menjadi grayscale

B = 0.5*A(:,:,1);
C = histeq(B);

%melakukan proses penyamaan histogram terhadap citra
imshow(A);

%menampilkan citra asli & histogramnya
figure;subplot(2,1,1);
title('image asli');
%menampilkan citra yg telah digrayscale beserta histogramnya

subplot(2,1,2);
imhist(A);
title('histogram gambar asli');
figure;subplot(2,1,1);
imshow(B);
%menampilkan citra yg telah diequalisasi beserta histogramnya

title('image grayscale');
subplot(2,1,2);
imhist(B);
title('histogram gambar grayscale');
figure;subplot(2,1,1);

imshow(C);
title('image equalisasi');
subplot(2,1,2);
imhist(C);
title('histrogram equalisasi');
end

Hasil Program

Uji Coba Pada Gambar Mammografi

Histogram Equalization pada MATLAB
Histogram Equalization pada MATLAB

Histogram Equalization pada MATLAB
Perataan Histogram

"Hasil gambar & histogramnya setelah dilakukan proses grayscale. Gambar lebih gelap & terlihat pada grafik histogramnya rata kiri dari 0-50an."

Histogram Equalization pada MATLAB
Perataan Histogram Equalization

"Hasil gambar beserta histogramnya setelah dilakukan proses ekualisasi dengan menggunakan fungsi histogram equalization pada Matlab. Dari gambar terlihat lebih jelas objeknya & dari hasil histogramnya terlihat grafiknya lebih merata dari pada gambar asli maupun hasil grayscale."

Sumber ::