0

Image Enhancement Metode Contrast Terhadap Citra Input

Posted by Unknown on 09.28
Lakukan image enhancement metode contrast terhadap citra input berikut :  





Penyelesaian : S1 titik- titiknya  (r1.S1) dan (r2.S2) adalah : (0 . 0.4) dan (0.3 . 0.1) , jadi Persamaan yang digunakan adalah :


S2 titik- titiknya  (r1.S1) dan (r2.S2) adalah : (0.3 . 0.1) dan (0.5 . 0.9) , jadi Persamaan yang digunakan adalah : 


S3 titik- titiknya  (r1.S1) dan (r2.S2) adalah : (0.5 . 0.9) dan (1 . 1) , jadi Persamaan yang digunakan adalah :


S4 titik- titiknya  (r1.S1) dan (r2.S2) adalah : (1 . 1) dan (0.8 . 0.6) , jadi Persamaan yang digunakan adalah :


Gray Level yang diketahui : Membuat Normalisasi , tujuannya agar nilai yang terdapat pada matriks di buat   ≥ 0 dan ≤ 1  dengan rumusnya r / 255 

Cat :  r = nilai tereduksi dari table matriks (dengan cara menghilangkan nilai yang sama) 

jadi Gray Level yang diketahui :      
1.     200     → r = 200/255 = 0.7843    
2.     100     → r = 100/255 = 0.3922    
3.     50       → r = 50 / 255 = 0.1961     
4.     10       → r = 10 / 255 = 0.0392 
Persamaan yang didapat sebelumnya adalah :
SI   = -r + 0.4               →   0. ≤ r ≤ 0.3 
SII  = 4r - 1.3           →   0.3 ≤ r ≤ 0.5 
SIII = -0.2r + 0.8      →   0.5 ≤ r ≤ 1
SIV = 2r - 1             →   1 ≥ r ≥ 0.8

 Selanjutnya masukan nilai gray level (r) yang telah didapat sebelumnya ke persamaan SI, SII, SIII dan SIV      

 1.     SIV     = ( 2 * 200/255 - 1 ) * 255    = 145    
 2.     SII       = ( 4 * 100/255 – 1.3) * 255 = 68,50  ≈ 69    
 3.     SI        = ( -50/255 + 0.4 ) * 255       = 52   
 4.     SI        = ( -10/255 + 0.4 ) * 255       = 92,00 ≈ 92
 Kemudian Ganti Nilai Tabel Matriks dengan Nilai :      
·Nilai 200 diganti dengan 145      ·  
 Nilai 100 diganti dengan 69      ·       
 Nilai 50 diganti dengan 52      ·      
 Nilai 10 diganti dengan 92

Bentuk table nya seperti dibawah ini










Semoga postingan kali Ini Bermanfaat Bagi Teman – teman Dan apabila masih ada kurang dan salah dalam penulisan serta analisa, jangan lupa di komentari ya….!!! ^_^

0

Operasi aritmatika dalam pengolahan citra menggunakan aplikasi matlab

Posted by Unknown on 08.01
Haiii...guys ketemu lagi bersama saya dengan postingan yang cukup menarik,karena kali ini saya akan selfi-selfi alias narsis dikit...hehehehehe
Maka sebagai lanjutan kali ini saya akan membahas mengenai operasi aritmatika dalam pengolahan citra. Operasi aritmatika dalam citra terdiri dari operasi penjumlahan, pengurangan, perkalian, pembagian dan operasi boolean citra. Operasi aritmatika tersebut bisa dilakukan dengan nilai skalar atau dengan dua buah citra berbeda. Hasil dari beberapa operasi di atas akan berbeda-beda, misalnya dengan dilakukan operasi penjumlahan citra maka citra hasil penjumlahan akan lebih cerah dari citra asal. Hal itu dikarenakan citra terdiri dari nilai piksel image(x,y) pada posisi (x,y). Semakin tinggi nilai piksel maka intensitas semakin cerah, begitu juga sebaliknya. Sebagai contoh silahkan tulis kode berikut pada editor matlab:

>>matrik=fix(rand(4,4)*10);
>>hasil=matrik+1;

kemudian kita lihat hasilnya menunjukkan bahwa hasil penjumlahan adalah matrik asal ditambah 1 pada tiap-tiap piksel, sehingga akan terlihat seperti berikut :



















Kalau perlakuan seperti perintah di atas dilakukan terhadap citra digital maka yang terjadi adalah citra menjadi semakin cerah karena nilai piksel bertambah. Sekarang kita coba lakukan pada sebuahcitra.
Ø  Penjumlahan

Dari perintah diatas maka akan muncul gambar seperti berikut :












 Ø  Perkalian





Dari perintah diatas maka akan muncul gambar seperti berikut :




 Ø  Pembagian




dari perintah diatas akan muncul gambar seperti berikut :


Ø  Pengurangan


dari perintah diatas akan mucul gambar seperti berikut :










Dari perintah diatas maka akan muncul gambar seperti berikut :


Sekian dan terima ksih ….!!!!!

0

Image Enhancement Histogram (Citra Digital)

Posted by Unknown on 06.52
Historgram Citra
Histogram citra merupakan diagram yang menggambarkan distribusi frekuensi nilai intensitas piksel dalam suatu citra. Sumbu horisontal merupakan nilai intensitas piksel sedangkan sumbu vertikal merupakan frekuensi/jumlah piksel. Historgram dari sebuah citra ditunjukan pada gambar





Citra yang terang, histogramnya akan cenderung menumpuk di sebelah kanan, dan citra gelap, histogramnya akan menumpuk di sebelah kiri.

Perataan Histogram (Histogram Equalization)


Teknik perataan histogram merupakan gabungan antara pergeseran 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.
Pada teknik perataan histogram ini mentransformasi tingkat keabuanrk menjadi sk  dengan suatu fungsi transformasi T(rkfungsi transformasi ini memiliki syarat sebagai berikut:
  •  T(r)  memberikan nilai tunggal (one-one-onto) sehingga memiliki inverse serta monoton naik untuk interval 0 ≤ ≥ 
  • 0 ≤ T(r) ≥ 1 atau 0 ≤ ≥ 1.

Bentuk Umum Metode Histogram


rk =  tingkat keabuan ke-k
nk  =  nilai intensitas /  pixel  pada  setiap tingkat keabuan rk pada citra

 = total seluruh pixel yang ada pada setiap tingkat keabuan


Sekian dulu untuk penjelasan singkat tentang histogram. Sekarang masuk pada kasus soal seperti dibawah ini...?? ^_^

Misalkan ada gambar atau objek dengan ukuran 64*64 dengan 16 gray level maka..?
64*64 = 4096  perhatikan gambar dibawah ini yang dibuat dengan Excel..



0

Artikel Tentang Proses Kompilasi Bahasa Pemrograman C#

Posted by Unknown on 08.12
Halo ketemu lagi semuanya. Bagaimana kabar? Baik?. Semoga masih diberikan kesehatan, sehat walafiat untuk kita semua. Amin :D
Sekarang kita akan sedikit belajar hal baru, membahas tentang apa yang sebenarnya terjadi saat kita melakukan proses coding dan mengompile sebuah program di C# hmm pasti banyak yang belum tahu kan, makanya sekedar kita belajar dan tahu sedikit tentang apa yang terjadi, yuk ikutin :D



Saat kita mengompilasi sebuah program yang kita gunakan menggunakan bahasa pemrograman C#, kompiler bahasa pemrograman C# akan menerjemahkan kode-kode C# kita menjadi MSIL (Microsoft Intemediate Language) yang sama seperti saat kita menulis kode menggunakan Visual Basic.Net, Visual C++.Net, dan sebagainya, sebelum kemudian menerjemahkannya kembali menjadi berkas-berkas berekstensi .exe atau .dll . Multifile Assembly dalam hal ini merupakan proses kompilasi beberapa berkas .NET yang masing-masing disebut sebagai module yang juga berisi berkas assembly manifest yang didalamnya terdapat instruksi-instruksi CIL (Common Intermediate Language) dan aneka Metadata terkait.

Konversi kode C# ke MSIL
Lalu komponen apa yang memungkinkan kode-kode bahasa pemrograman C# dikompilasi agar kompabilitas antarbahasa keluarga .Net tetap terjaga? Komponen yang dimaksud adalah Just In Time Compiler (JITers) yang bertindak sedemikian rupa sehingga saat MSIL akan dieksekusi , CLR (Common Language Runtime) akan memanggil JITers yang akan menerjemahkan kode-kode bahasa keluarga .Net menjadi kode-kode spesifik terhadap komputer tertentu. JITers peduli terhadap komputer-komputer tertentu yang digunakan untuk menjalankan program serta sistem operasi yang digunakannya. Dalam hal ini Microsoft Corp. berani menjamin bahwa kode-kode bahasa dari pemrograman .Net akan dieksekusi lebih cepat dibandingkan dengan kode-kode yang menggunakan bahasa C/C++.




Tidak seperti bahasa C/C++ tradisional, kode bahasa C# tidak secara langsung diterjemahkan kedalam bahasa mesin. Kompiler bahasa pemrograman C# mengkonversi kode C# menjadi berkas MSIL yang dinamakan asembly. Berkas MSIL dapat dibuat menggunakan semua bahasa pemrograman yang dikembangkan diatas CLR (misalnya Visual C++, Visual J#, serta Visual Basic). Adapun diagram di bawah ini memperlihatkan bagaimana kode C# yang kita tulis dikonversi menjadi kode yang dapat dieksekusi oleh komputer.

Diagram Alir Konversi Kode C# ke Kode yang Dapat Dijalankan di Sistem Operasi
Berkas MSIL hadir dalam bentuk berkas berekstensi .exe serta .dll, tetapi alih-alih beralan langsung diatas sistem operasi Windows, mereka dieksekusi oleh CRL. CLR mengomplilasi program MSIL ke kode mesin saat diperlukan. Proses ini dinamakan kompilasi JIT (Just In Time). Kode mesin inilah yang kemudian dieksekusi secara langsung oleh komputer. Dengan membuat kode yang bersifat netral terhadap perangkat keras komputer hingga saat terakhir, maka keamanan dan portabilitas akan meningkat. Dalam hal ini proses ini secara umum tersembunyi dari pandangan pengguna. Dengan kata lain, program yang ditulis menggunakan bahasa C# dikompilasi, dieksekusi, serta didistribusikan dengan cara yang sama seperti program yang ditulis menggunakan bahasa pemrograman lainnya. Sepanjang framework .NET terinstalasi di komputer yang bersangkutan, program C# akan berjalan dengan baik seperti aplikasi yang lain. Hal ini mirip dengan JRE (Java Runtime Environment) yang memungkinkan program bahasa Java berjalan di sembarang komputer.
Selain hal diatas , Microsoft Corp. juga menyediakan suatu pustaka kelas yang dinamakan FCL(Framework Class Library). FCL ini memuat ribuan kelas yang mampu melakukan akses ke API (Application Programming Interface) untuk sistem operasi Windows (Win API), sehingga pemrogram lebih nyaman saat melakukan  pemrograman akses data, multithreading, struktur data yang bersifat umum, pemrograman jaringan dan sebagainya. Kelas-kelas dalam FCL ini juga dirancang untuk menggunakan paradigma pemrograman berorientasi objek yang sangat ketat sehingga dapat digunakan ulang secara sangat efektif dan efisien.
Karena dirancang dalam hubungannya dengan framework .NET, aplikasi yang dikembangkan menggunakan bahasa pemrograman C# sangat sesuai untuk framework .Net ini. Dalam hal ini framework .Net memiliki sejumlah pustaka kelas yang menyediakan sejumlah besar kelas yang sangat diperlukan untuk mengembangkan aplikasi, seperti fungsionalitas teks dangrafik, kelas-kelas menyimpan data di basis data, kakas (tool) untuk memanipulasi XML, metode-metode untuk melakukan akses terhadap situs web yang diperlukan, dan sebagainya. Kelompok kelas yang dimiliki framework .NET disebut dengan namespace. Namespace itulah yang merupakan kelompok kelas-kelas yang saling berhubungan, dan memiliki hubungan untuk menyelesaikan masalah tertentu. 
Mungkin di pembahasan berikutnya saya akan membahas lebih jauh tentang namespace dan contohnya, juga penjelasannya masing-masing. Jadi tetep pantengin terus ya postingan saya, hihi. Semoga ilmu yang saya bagikan dapat bermanfaat. 


Terims kasih .........<:>

0

GRAFIKA KOMPUTER 3

Posted by Unknown on 23.47


TUGAS GRAFIKA KOMPUTER
“MEMBUAT EMOTICON MENGGUNAKAN JAVA”


-          Codingnya.

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package gui_java;

import java.awt.*;

/**
 *
 * @author Putri
 */
public class HelloAWT extends Panel{
    HelloAWT(){
    setBackground(new Color(227, 227, 227));// warna background

    }

    @Override
    public void paint(Graphics A){
    A.setColor(new Color(246,92,150));//warna font Nama
    A.setFont(new Font("Snap ITC", Font.BOLD,20));// jenis font
    A.drawString("Nama : Muhammad Taufik",20, 255);// koordinat/letak font
   
    A.setColor(new Color(34, 11, 55));//warna font Nama dan kelas
    A.setFont(new Font("Showcard Gothic", Font.BOLD,20));// jenis font
    A.drawString("Membuat Emoticon",350, 255);// koordinat/letak font
  

//    A.drawOval(30, 100, 40, 30);
//    A.drawLine(10, 100, 100,100);
    A.setColor(Color.black);
    A.drawArc(229,29, 152, 151, 0, 360);//draw lingkaran kepala
   
    A.setColor(new Color(237, 202, 39));
    A.fillArc(230,30, 150, 150, 0, 360);//warnai lingkaran kepala
   
    A.setColor(Color.WHITE);
    A.fillArc(265,70, 20, 40, 0, 360);//mata putih kiri
   
    A.setColor(Color.WHITE);
    A.fillArc(325,70, 20, 40, 0, 360);//mata putih kanan
   
    A.setColor(Color.BLACK);
    A.fillArc(325,75, 20, 30, 0, 360);//mata hitam kanan
   
    A.setColor(Color.BLACK);
    A.fillArc(265,75, 20, 30, 0, 360);//mata hitam kiri
   
    A.setColor(Color.red);
    A.fillArc(275,100, 65, 60, 0, -180);//fill mulut
   
    Image gambar = Toolkit.getDefaultToolkit().getImage("Domo-kun.png");
    A.drawImage(gambar, 20, 30, 180, 165, this);
   
    Image gambarr = Toolkit.getDefaultToolkit().getImage("heart005.png");
    A.drawImage(gambarr, 20, 30, 30, 30, this);
   
    //A.setColor(Color.GREEN);
    //A.fillOval(280, 50, 100, 90);
   
//    A.drawRoundRect(30, 100, 200, 30, 20, 20);
    }
           
           
           
    public static void main(String[] args) {
        // TODO code application logic here
        Frame f1 = new Frame();
        HelloAWT H = new HelloAWT();
        f1.add(H);
        f1.setSize(600, 300);
        f1.setVisible(true);
    }
}

-          Tampilan Outputnya



Copyright © 2009 Taufiik stikOm All rights reserved. Theme by Laptop Geek. | Bloggerized by FalconHive.