Laman

Rabu, 05 Januari 2011

mendapatkan nilai pixel dari gambar di C# (C Sharp)

Sebelum membuat project tentang medapatkan pixel gambar, yang perlu dipahami dan dimengerti adalah sistem koordinat pada gambar itu sendiri. pada sistem koordinat kartesius x adalah sumbu mendatar (horizontal) sedangkan y adalah sumbu vertikal. bagaimana dengan koordinat pixel di gambar?. Pada system koordinat pada gambar ada sedikit perbedaan dengan sistem koordinat pada kartesius, pada koordinat pixel gambar, dimulai dari pojok kiri atas, dengan kata lain pojok kiri atas adalah titik (0,0), sehingga di koordinat pixel gambar tidak mengenal nilai negatif. pada arah vertikal dan arah horizontal juga memiliki perbedaan dengan koordinat kartesius, pada koordinat pixel sumbu x adalah arah vertikal sedangkan pada sumbu y adalah arah horizontal. untuk lebih jelasnya perhatikan gambar dibawah ini. titik (0,0) ada pada kiri atas suatu gambar

Gambar 1. Preview koordinat pada gambar

setelah memahami tentang sistem koordinat gambar, sekarang mari buat project untuk mendapatkan nilai pixel dari suatu gambar. seperti biasanya sebelumnya silahkan siapkan project baru, pada IDE visual studio klik file pilih new project pada kotak project name silahkan isi nama project sesuai dengan keiinginan, sedangkan untuk langkah langkah selanjutnya silahkan ikuti  instruksi-instruksi dibawah ini
langkah pertama : Tambahkan dua button , satu picturebox ,data datagridview dan satu openFileDialog. atur dan tata sedemikian rupa sehingga tampilannya seperti pada gambar dibawah ini

,
Gambar 2. Preview desain aplikasi

langlah kedua : double klik pada button 1 untuk membangkitkan event single click pada button satu, tambahkan code dibawah ini pada event tersebut. sebelumnya deklarasikan dahulu variabel global gambarku bertype bitmap
 if (DialogResult.OK == openFileDialog1.ShowDialog())
   {
     try
     {
        gambarku = new Bitmap(openFileDialog1.FileName);
        pictureBox1.Height = gambarku.Height;
        pictureBox1.Width = gambarku.Width;
        pictureBox1.Image = gambarku;
        originalPixel=new int[gambarku.Height+2,gambarku.Width+2];
     }
    catch (Exception kesalahan)
    {
    MessageBox.Show("Telah terjadi kesalahan karena: " + kesalahan.ToString());
    }
 }          

langkah ketiga: bangkitkan event single klik pada button getPixel dengan cara mendouble kliknya, setelah itu tambahkan code berikut ini pada event tersebut
 for (int i = 0; i < gambarku.Width; i++)
   {
    DataGridViewColumn newCol = new DataGridViewColumn();
    DataGridViewCell cell = new DataGridViewTextBoxCell();
    newCol.CellTemplate = cell;
    newCol.HeaderText = (i + 1).ToString();
    newCol.Name = "Oke";
    newCol.Visible = true;
    newCol.Width = 40;
    dataGridView1.Columns.Add(newCol);
   }
   dataGridView1.Rows.Add(gambarku.Height);
   for (int i = 0; i < gambarku.Height;i++ )
   {
      for (int j = 0; j < gambarku.Width; j++)
       { 

          dataGridView1.Rows[i].Cells[j].Value = 
          gambarku.GetPixel(j,i).ToString();
       }
   }


langkah keempat : Done. program selesai dibuat, sekarang jalankan program. jika langkah-langkah diatas dilakukan dengan benar, maka program akan mampu menampilkan nilai dari titik titik pixel yang ada di gambar, untuk lebih jelasnya dalam memahi program ini silahkan download contoh programnya disini, atau download projectnya disini
Download binary filenya disini
Dowload full projectnya disini
For more information contact on informasi@csharp-indonesia.com

untuk cara download, klik link download yang disediaan diatas, setelah itu akan muncul halaman adf.ly, tunggu beberapa detik sampai pada pojok kanan atas muncul tulisan skip ad. klik skip ad setelah itu silahkan klik pada button download yang muncul pada halaman ziddu.
NB : Dalam tutorial ini program ditulis menggunakan IDE Visual studio 2010. dengan target framework 2.0 . Sehingga minimal komputer harus terinstal windows xp untuk bisa menjalankan program *.exe nya, Sedangkan untuk membuka projectnya mau tidak mau harus menginstal microsoft visual studio 2010

Artikel  yang mirip

14 komentar:

  1. terima kasih banyak mas, sngat membantu

    BalasHapus
  2. sama sama, semoga artikel ini bisa bermanfaat

    BalasHapus
  3. Komentar ini telah dihapus oleh pengarang.

    BalasHapus
  4. brow saya kan sedang menyusun tugas akhir mengenai pengolahan citra.. nah saya bingung.. kira2 ada project tentang watermark ga ya? yang menggunakan metode SVD (singular value decomposition).. kalo kompresi DWTnya saya sudah bisa nah masalahnya saya ga nemu2 solusi untuk metode SVDnya (penysipan watermark dan ekstraksi watermark),,
    bisa dibantu ga? saya udah mentok mas.. mohon pertolongannya.. smoga diberkati..
    dingo.xiii66@gmail.com

    BalasHapus
  5. untuk project tentnag Citra yang berhubungan dengan Watermark belum pernah menangani. Tetapi biasanya yang menggunakan metode SVD akan mengalami kesulitan dalam hal menghitung nilai eigen, baik eigen vector maupun eigen value, coba lihat referensi di Aforge atau di Accord,

    BalasHapus
  6. hariez prett20 Mei 2012 22.46

    gan,.. sya lg menyusun skripsi nich,.. ada gag project tentang connected component labelling,..???
    klo ada tolong bantu ya gan, kirim ke email h4r1z.z@gmail.com

    BalasHapus
  7. sori gan. kalau metode itu ane pernah dengar. tapi cuman mempelajari aja. nggak sampai membuat projectnya

    BalasHapus
  8. Bejo Pamungkas Bagus26 September 2012 12.33

    nitip lapak
    http://osharedoc.blogspot.com

    BalasHapus
  9. gan kalau untung menghitung pixel menggunakan buah melon bagai mana ya gan?

    BalasHapus