Langsung ke konten utama

Part 8 : Implementasi Normalisasi Histogram Di Java

Menyambung tulisan saya yang sebelumnya,kali ini saya akan melanjutkan tentang implementasi normalisasi histogram di Java.Apabila belum mengerti tentang konsep normalisasi histogram,bisa di baca ulang di Part 7.

Langkah langkah implementasinya sebagai berikut
  1. Load gambar yang akan di proses
  2. Ambil nilai histogram gambar,untuk lebih detailnya bisa di lihat di Part 6
  3. ambil nilai min dan max dari histogram,
  4. nilai min,x = 0 to histogram.length ,if histogram[x]!= 0 then min = x break;x++
  5. nilai max,x = histogram.length - 1 to 0,if histogram[x] !=0 then max = x break,x--
  6. x = 0 
  7. jika x < panjang gambar maka lanjut langkah 8,jika tidak tampilkan gambar hasil
  8. y = 0 
  9. jika y < lebar gambar maka lanjut ke langkah 10,jika tidak kembali ke langkah 7 dengan x +1
  10. ambil rgb dari piksel (y,x) dan jadikan grayscale grey = red+green+blue / 3
  11. hasil =( (grey - min)/(max - min)) x 255
  12. set piksel keluaran ke (y,x) dengan nilai hasil perhitungan dan kembali ke langkah 9 dengan y + 1
  13. selesai
Untuk implementasinya sebagai berikut

    Load library yang di butuhkan
   
 
     Load gambar
   
  
    Fungsi Normalisasi
   


    Fungsi main

dan hasil dari program tersebut adalah sebagai berikut

gambar asli
dengan histogram

setelah di proses di dapat hasil sebagai berikut
  dengan histogram

 Sekian dulu tulisan saya kali ini,sekali lagi kode saya jadikan gambar agar agan mau mencoba menganalisa dan mencoba koding langsung.Sampai mencoba dan Sampai jumpa di tulisan saya selanjutnya.

Komentar

Postingan populer dari blog ini

Contoh Perhitungan Algoritma Perceptron

      Melanjutkan tulisan saya sebelumnya tentang algoritma perceptron,kali ini saya akan menulis tentang conto perhitungan manual algoritma perceptron. Untuk contoh kasusnya saya menggunakan data logika AND. Cekidot.... Algoritma      Data yang kita gunakan sebagai contoh adalah data logika AND sebagai berikut: x1 x2 target 0 0 0 0 1 0 1 0 0 1 1 1       tentukan bobot awal secara acak, saya pakai contoh w1 = 0,w2 =0, learning rate = 1, bias = 0,maksimal epoh = 10. Disini saya memakai fungsi aktivasi undak biner. Epoh ke 1 Data ke satu x = {0,0}, bobot w = {0,0},b=0,target = 0 y_in = (x1*w1)+(x2*w2)+b = (0*0)+(0*0)+0 = 0 y = sign(0) = 1 karena y != target maka hitung error dan update bobot  error = target - y = 0 - 1 = -1 w1_baru = w1_lama +(learning_rate*error*x1)                = 0 ...

Contoh Perhitungan Algoritma Learning Vector Quantization

Melanjutkan tulisan saya tentang algoritma Learning Vector Quantization yang lalu, kali ini saya akan melanjutkan dengan contoh perhitungan manual. Berikut ini contoh data yang akan kita hitung. No X1 X2 X3 X4 target 1 0 1 1 0 0 2 0 0 1 1 1 3 1 1 1 1 0 4 1 0 0 1 1 pada contoh di atas, saya menggunakan 4 data sebagai data training beserta target yang bertujuan untuk mendapatkan bobot yang akan digunakan pada proses klasifikasi. Bobot awal adalah { 1, 1, 1, 0} dan { 1, 0, 1, 1} dengan learning rate 0,05 dengan fungsi pembelajaran = 0,1. Pelatihan Iterasi ke 1 1. Data ke 1 { 0, 1, 1, 0} dengan target 0, bobot = {{ 1, 1, 1, 0},{ 1, 0, 1, 1}}      - menghitung bobot untuk masing masing output :          kelas 0 = sqrt(((0-1)^2)+((1-1)^2)+((1-1)^2)+((0-...

SOLID - Prinsip Desain Arsitektur Di Dalam Pemrograman Object Oriented (Dependency Inversion Principal)

Akhirnya kita sampai di bagian paling akhir dari seri tulisan SOLID Principal yaitu untuk huruf D.  Ketika kita bekerja menggunakan bahasa pemrograman berorientasi object, kita pasti akan menggunakan Class. Class tersebut pada akhirnya akan saling terkait /  ketergantungan satu dan yang lain untuk melakukan tugas tertentu.  Ketergantungan ini disebut dengan istilah  Dependency.  Dependency ini bisa terjadi antar Class di dalam satu  Code Base  yang sama, atau bahkan antar  Library.  Controhnya seperti potongan kode berikut. <?php namespace App\DependencyInversion; /** * Description of Engine * * @author programmer */ class Engine { private KeihinCarburator $carburator ; private NGKSpark $spark ; public function __construct (KeihinCarburator $carburator , NGKSpark $spark ) { $this -> carburator = $carburator ; $this -> spark = $spark ; } public funct...