Rabu, 19 Oktober 2016

Histogram Equalisation dan contoh penggunaanya pada MATLAB

Pada tulisan kali ini saya akan membahas tentang Histogram Equalisation atau biasa disebut perataan histogram. Histogram adalah diagram batang yang menunjukkan tabulasi dari data yang diatur berdasarkan ukurannya. Tabulasi data ini umumnya dikenal sebagai distribusi frekuensi. Histogram menunjukkan karakteristik-karakteristik dari data yang dibagi-bagi menjadi kelas-kelas. Pada histogram frekuensi, sumbu x menunjukkan nilai pengamatan dari tiap kelas. Histogram dapat berbentuk “normal” atau berbentuk seperti lonceng yang menunjukkan bahwa banyak data yang terdapat pada nilai rata-ratanya. Bentuk histogram yang miring atau tidak simetris menunjukkan bahwa banyak data yang tidak berada pada nilai rata-ratanya tetapi kebanyakan datanya berada pada batas atas atau bawah.

Tujuan dari perataan histogram ini adalah untuk memperoleh penyebaran histogram yang merata, sedemikian sehingga setiap derajat keabuan memiliki jumlah pixel yang relatif sama. Selanjutnya kita masuk ke tahap pembuatan perataan histogramnya, Pertama kita masuk ke aplikasi MATLAB yang digunakan untuk melakukan perataan histogram.

Untuk perataan histogram ini gambar harus dalam bentuk grayscale, untuk merubah gambar berwarna menjadi grayscle dengan perintah “rgb2gray(‘asli.jpg’);“



berkiut script yang digunakan:

X = imread(‘asli.jpg’);
Y = rgb2gray(X);
Z = figure,imhist(Y);
A = histeq(Y);
B = figure,imhist(A);

Keterangan :
“imread(‘asli.jpg’);“ untuk melakukan pengubahan menjadi matriks

“figure,imhist(‘asli).jpg’);” digunakan untuk membaca gambar dalam bentuk histogram, setelah gambar kita ubah menjadi matriks dan menjadi gambar grayscale sebelumnya

“histeq(‘asli.jpg’);“ untuk perataan historgramnya sendiri.

Hasil : 


Baca SelengkapnyaHistogram Equalisation dan contoh penggunaanya pada MATLAB

Konvolusi Pada Pengolahan Citra

Konvolusi
Kali ini saya akan membahas tentang konvolusi pada pengolahan citra dan contoh penggunaannya pada MATLAB. Secara umum konvolusi didefinisikan sebagai cara untuk mengkombinasikan dua buah deret angka yang menghasilkan deret angka yang ketiga. Didalam dunia seismik deret-deret angka tersebut adalah wavelet sumber gelombang, reflektivitas bumi dan rekaman seismik.

Secara matematis, konvolusi adalah integral yang mencerminkan jumlah lingkupan dari sebuah fungsi a yang digeser atas fungsi b sehingga menghasilkan fungsi c. Konvolusi dilambangkan dengan asterisk.

Sehingga, a*b = c berarti fungsi a dikonvolusikan dengan fungsi b menghasilkan fungsi c. Setelah mengetahui definisi dari konvolusi, Beberapa hal umum yang berhubungan dengan konvulasi :
  • Konvolusi diskrit banyak digunakan dalam pengolahan citra untuk image smoothing, edge detection dan efek-efeklainnya
  • Konvolusi dilakukan berdasarkan jumlah bobot dari piksel-piksel tetangga
  • Bobot ditentukan berdasarkan ukuran window berupa matriks
  • Window atau disebut juga sliding window bergerak sepanjang piksel yang ada pada citra berukuran kecil yang biasa disebut convolution mask atau convolution kernel
  • Orde matriks biasanya ganjilsehingga hasil konvolusi tepat berada ditengah-tengah
  • Semakin besar ukuran window,beban komputasi akan semakin meningkat

Secara matematis, konvolusi adalah integral yang mencerminkan jumlah lingkaran dari sebuah sudut fungsi F yang digeser atas fungsi g sehingga menghasilkan fungsi h. Konvolusi dilambangkan dengan arsterik (*). Sehingga, F*g=h berarti fungsi F dikonvolusikan dengan fungsi g menghasilkan fungsi h. konvolusi dua buah fungsi F(x) dan g(x) di definiskan sebagai berikut :


integral dari -tak hingga sampai tak terhingga. Untuk fungsi diskrit, konvolusi di definisikan sebagai :


g(x) disebut dengan kernel konvolusi (filter). Kernel g(x) merupakan jendela yang dioperasikan secara bergeser pada sinyal masukan F(x). Hasil konvolusi dinyatakan dengan keluaran h(x). Ilustrasi Konvolusi : F(i,j)



F(i,j) = AP1+BP2+CP3+DP4+EP5+FP6+GP7+HP8+IP9

Contoh, misal citra F(x,y) yang berukuran 5x5 sebuah kernel dengan 3x3 matriks sebagai berikut :


Tahapan menghitung hasil konvolusi :

  1. Menempatkan kernel pada sudut kiri atas, kemudian hitung nilai pixel pada posisi (0,0) dan kernel hasil = (3)
  2. Geser kernel satu pixel ke kanan, kemudian hitung nilai pixel pada posisi (0,0) dan kernel hasil = (0)
  3. Selanjutnya dengan cara yang sama geser ke kanan dan seterusnya
  4. Geser kernel satu pixel ke bawah, lakukan perhitungan seperti di atas
  5. Nilai pixel citra tepi tidak berubah
  6. Sehingga di dapatkan hasil sebagai berikut



Contoh Penggunaan Konvolusi Pada MATLAB
kita akan mencoba mempraktekkannya pada MATLAB. Berikut adalah langkah-langkah yang diperlukan :

  1. Buka Editor (pada tab menu pilih Dekstop >> Editor)
  2. Lalu pilih file>>new script
  3. Kemudian masukkan perintah dibawah ini :

gambar=imread(‘asli.jpg’);
[matrixcitra]=imread(‘asli.jpg’)
mask = [-1 -1 -1; -1 8 -1; -1 -1 -1];
gray=rgb2gray(gambar);
thresh=graythresh(gray);
imbw=im2bw(gray,thresh);
hasil=conv2(double(imbw),mask,’valid’);
imshow(gambar)
figure, imshow(hasil)
Setelah memasukkan script diatas, kemudian save file anda (directory bebas). Setelah melakukan proses save diatas, kemudian copykan file gambar yang hendak d konvolusikan pada directory script(file yang sudah disave diatas) yang sama. Lalu tekan F5

Citra awal


Citra hasil konvolusi

Proses olah citranya sebagai berikut:
Sample yang digunakan adalah matriks 5x5


Citra hasil konvolusi


Proses penghitungan sample matriks 5x5 secara manual :
Rumus yang digunakan f(x)*g(x)
Nilai mask yang dipakai:


Sumber :

  • Modul 6 Pengolahan Citra
  • http://rai46.blogspot.co.id/2012/03/konvolusi-kolerasi-pada-pengolahan.html


Baca SelengkapnyaKonvolusi Pada Pengolahan Citra

Selasa, 04 Oktober 2016

Cara Konversi Image Menggunakan Matlab

1. Membaca Citra / Image

Format file yang dapat di baca di MATLAB adalah :

TIFF
Tagged Image File Format
.tif .tiff
JPEG
Join Photographics Expert’s Group
.jpeg .jpg
GIF
Graphics Interchange Format
.gif
BMP
Windows Bitmap
.bmp
PNG
Portable Network Graphics
.png
XWD
X-Window Dump
.xwd


Cara membuka dan menampilkan gambar pada matlab dapat dilihat di sini 


2. Melakukan Konversi Gambar RGB Menjadi Grayscale

Untuk mengubah gambar RGB ke gambar grayscale di MATLAB ada fungsi khusus yaitu rgb2gray(gambar), contoh perintah dalam MATLAB adalah sebagai berikut :

clc;
clear;
RGB=imread('SADRI.jpg');
gambar=rgb2gray(RGB); %Proses Grayscaling
subplot(1,2,1);
imshow(RGB);
subplot(1,2,2);
imshow(gambar)

Hasil :
          


tetapi kadangkala diinginkan untuk perubahan bentuk grayscale ini tidak menggunakan fungsiMATLAB yang sudah ada yang merupakan nilai rata-rata piksel RGB tetapi masing-masing nilai RGB diberi nilai bobot yang berbeda-beda, contohnya sebagai berikut :

clc;
clear;
gambar=imread('SADRI.jpg');%Membaca file citra
red=gambar(:,:,1);%Mengambil matriks penyusun citra merah
green=gambar(:,:,2);%Mengambil matriks penyusun citra hijau
blue=gambar(:,:,3);%Mengambil matriks penyusun citra biru
gray2=0.3*red+0.5*green+0.2*blue;
subplot(2,2,1);
imshow(red)
title('Citra Merah')
subplot(2,2,2);
imshow(green);
title('Citra Hijau')
subplot(2,2,3);
imshow(blue)
title('Citra Biru')
subplot(2,2,4);
imshow(gray2)
title('Citra grayscale')

              Hasil :



3. Konversi Gambar ke Hitam-Putih

Cara mengkonversi citra RGB menjadi citra hitam putih dengan menggunakan syntax im2bw, berikut ini adalah contoh penggunannya di MATLAB :

clc;
clear all;
close all;
Gambar=imread('D:\latihan\SADRI.jpg');
subplot(1,2,1);
imshow(Gambar)
title('Citra Asli')
GambarBW=im2bw(Gambar); %Proses BW
subplot(1,2,2);
imshow(GambarBW)
title('Citra BW')
imwrite(GambarBW,'D:\latihan\SADRIBW.jpg','jpg'); %save gambarBW

              Hasil :



4.  Merubah Ukuran Citra
Mengingat banyaknya cara untuk merubah ukuran, disini saya mengambil gambar dengan ukuran  384 x 384 gunanya supaya mudah untuk dibagi 2 atau 0,5. contohnya adalah sebagai berikut :

clc;
clear;
I=imread('D:\latihan\SADRI.jpg');
J=imresize(I,0.5);
figure,imshow(I)
title('Citra 384x384')
figure,imshow(J)
title('Citra 192x192')
imwrite(J,'D:\latihan\SADRI1.jpg','jpg');

                 Hasil :



Sumber :

http://blogerr-info.blogspot.co.id/2013/12/pengolahan-citra-cara-mengformat-file.html





Baca SelengkapnyaCara Konversi Image Menggunakan Matlab

Pengolahan Citra dan Cara Membuka dan Menampilkan Gambar Dengan Menggunakan Matlab

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




Baca SelengkapnyaPengolahan Citra dan Cara Membuka dan Menampilkan Gambar Dengan Menggunakan Matlab

Sabtu, 13 Juli 2013

Internet Protocol (IP) Address

Internet Protocol (IP) Address
Atau biasa disebut alamat IP adalah deretan angka biner antar 32-bit sampai 128-bit yang dipakai sebagai alamat identifikasi untuk tiap komputer host dalam jaringan, baik jaringan lokal maupun internet. Panjang dari angka ini adalah 32-bit (untuk IPv4 atau IP versi 4), dan 128-bit (untuk IPv6 atau IP versi 6) yang menunjukkan alamat dari komputer tersebut pada jaringan berbasis TCP/IP. IP berada pada layer internet pada TCP/IP atau layer 3 (network) pada OSI layer. IP menunjukkan alamat logika, pada header IP terdapat field yang menunjukkan alamat IP sumber (source address) dan alamat IP tujuan (destination address) dari paket data yang akan dikirimkan. Pada tulisan ini hanya akan disinggung IPv4. Masih cukup banyak perangkat jaringan yang bergantung pada IPv4.

IP address dapat dipisahkan menjadi 2 bagian, yaitu bagian network (bit-bit network) dan bagian host (bit-bit host). Bit network berfungsi untuk membedakan network yang satu dengan yang lain. Sedangkan bit host digunakan untuk membedakan host-host. Semua host yang terhubung pada network yang sama, pasti akan memiliki bit network yang sama juga.

 
Kelas IP
Alamat IP dibagi dalam beberapa kelas. Kelas IP dibedakan berdasarkan banyaknya bit network dan bit host pada setiap alamat IP. Kelas IP juga menunjukkan banyaknya host yang dapat dimiliki oleh sebuah network. Berikut ini penjelasan masing-masing kelas IP address.

-Kelas A
  8 bit pertama merupakan bit-bit network. Bit pertama bernilai 0 dan 7 bit berikutnya dapat bernilai berapa saja (kombinasi angka 0 dan 1). Sisanya, yaitu 24 bit terakhir merupakan bit-bit untuk host.

Alamat IP kelas A dapat dituliskan sebagai berikut:

0nnnnnnn.hhhhhhhh.hhhhhhhh.hhhhhhhh

n menyatakan network, sedangkan h menyatakan host.

-Kelas B
  16 bit pertama merupakan bit-bit network. Dua bit pertama bernilai 10 dan 14 bit berikutnya dapat bernilai berapa saja (kombinasi angka 0 dan 1). Sisanya, yaitu 16 bit terakhir merupakan bit-bit untuk host.

Alamat IP kelas B dapat dituliskan sebagai berikut:

10nnnnnn.nnnnnnnn.hhhhhhhh.hhhhhhhh

n menyatakan network, sedangkan h menyatakan host.

-Kelas C
  24 bit pertama merupakan bit-bit network. Tiga bit pertama bernilai 110 dan 21 bit berikutnya dapat bernilai berapa saja (kombinasi angka 0 dan 1). Sisanya, yaitu 8 bit terakhir merupakan bit-bit untuk host.

Alamat IP kelas C dapat dituliskan sebagai berikut:

110nnnnn.nnnnnnnn.nnnnnnnn.hhhhhhhh

n menyatakan network, sedangkan h menyatakan host.

-Kelas D
 Empat bit pertama bernilai 1110. Alamat IP kelas D merupakan alamat muticast. Salah satu aplikasi yang memanfaatkan alamat multicast adalah real time video confrencing. Pada alamat IP kelas D tidak dikenal bit network dan host.

-Kelas E
 Empat bit pertama bernilai 1111. Alamat IP kelas E dicadangkan untuk kegiatan riset atau eksperiman. Pada alamat IP kelas E tidak dikenal bit network dan host.



Alamat Kelas A dari 127.0.0.0 sampai 127.255.255.255 tidak bisa digunakan karena akan dipakai untuk loopback dan fungsi diagnostic.



IP private / IP lokal
IP private adalah IP address yang digunakan untuk keperluan LAN/intranet. Sedangkan alamat IP yang digunakan untuk keperluan internet disebut alamat IP publik. Alamat IP lokal memang dikhususkan untuk jaringan LAN / lokal. Alamat IP ini tdak ter-routing di internet. Berikut adalah Tabel yang berisi daftar IP address private.



Baca SelengkapnyaInternet Protocol (IP) Address