Radial illumination falloff compensation thresholding

Fiuh, judul yang panjang untuk menerangkan bagaimana membuat citra biner dari kamera digital yang umumnya menghasilkan citra dengan pencahayaan yang bergradasi radial (makin ke tengah/fokus makin terang). Idenya sederhana saja, nilai batas (threshold) yang ditentukan secara global disesuaikan (diturunkan) untuk tiap lokasi berdasarkan jaraknya (radius) dari titik tengah citra (atau titik dengan pencahayaan maksimum). Ide ini juga dapat diterapkan untuk variasi pencahayaan bergradasi dengan model lainnya seperti linier.

gambar asal

gambar asal (sumber ARToolkitPlus)


gambar dengan threshold global


gambar biner dengan radial illumination falloff compensation thresholding

  tres := 127; //nilai batas awal (ditentukan manual atau hasil perhitungan misal dengan algoritma Otsu atau Kapur)
  comp_rate := -0.0267;//koefisien laju penurunan nilai batas
  b := Image1.Picture.Bitmap;

  tengah.X := b.Width div 2; //nilai tengah diumpamakan berada di tengah citra
  tengah.Y := b.Height div 2;

  for j := 0 to b.Height - 1 do begin
    p := b.ScanLine[j]; //p bertipe pointer ke array of pixel (PArrRGB atau PByteArray)
    for i := 0 to b.Width - 1 do begin

      g := Round( 0.299 * p[i].r + 0.587 * p[i].g + 0.114 * p[i].b ) mod 256;

      if g < tres + dist( i, j, tengah.X, tengah.Y ) * comp_rate then //modifikasi nilai batas
        p[i] := rgb_hitam
      else
        p[i] := rgb_putih;

    end;
  end;

  Image1.Refresh;

7 comments

  1. Anto Satriyo Nugroho · Desember 29, 2010

    Udah dicoba dengan moving averages thresholding ? DIP Gonzales 3rd Ed, fig 10.49 ada contoh mirip dengan kasus di atas.

    • pebbie · Desember 29, 2010

      wah, saya tidak punya bukunya. apakah mirip dengan thresholding dengan memanfaatkan rata-rata lokal?

      • Anto Satriyo Nugroho · Desember 29, 2010

        Iya. Tetapi setelah saya perhatikan, ternyata moving averages thresholding nggak cocok. Soalnya di contoh yg diberikan di DIP itu kasusnya adalah menampilkan text yang corrupted oleh spot shading, dan object-nya (text) berada di hampir seluruh area citra (sampai ke pojok kiri kanan atas bawah yg kena gelap). Kalau di contoh gambar yg dipakai Peb, objectnya hanya ada di tengah. Gambar yg saya maksud bisa dilihat dari
        http://www.imageprocessingplace.com/downloads_V3/dip3e_downloads/dip3e_book_images/DIP3E_CH10_Original_Images.zip

        BTW, pengajaran Image Processing di ITB memakai textbook apa Peb ? Di SGU saya memakai Gonzales. Semester depan saya mengajar Pattern Recognition memakai bukunya Duda-Hart-Stork. Di ITB memakai buku apa ? maaf pertanyaan terlalu banyak🙂

  2. pebbie · Desember 29, 2010

    kalo di itb (informatika) mata kuliahnya agak digabung: ‘interpretasi dan pengolahan citra’ kalau pattern recognition untuk S2 namanya ‘sistem rekognisi’. mata kuliah citra, outlinenya masih pakai bukunya milan sonka yang ‘Image Processing, Analysis, and Machine Vision’. tapi untuk di kelasnya bisa comot dari buku-buku lain juga (saya sendiri suka ambil dari bukunya Bern Jahne untuk image processing) atau mahasiswanya mandiri cari bahan sendiri dari paper yang sesuai dengan topik. metodenya lebih fokus pada ‘latihan dan kasus’ makanya agak bebas bahannya. kalau kuliah pengolahan citra di prodi lain (biomedik) sepertinya pakai Gonzales juga.

    mata kuliah sistem rekognisi juga sebagian isinya mengambil dari bukunya Sonka. tapi biasanya kalau di kelas, tidak bawa buku apa-apa karena kuliah S2 lebih banyak eksplorasi paper dan presentasi topik😀

  3. hendro · April 21, 2014

    apakah pernah membahas tentang region merging, kalau ada listingnya dengan delphi tolong bantuannya🙂

  4. bung itoels · Juni 6, 2015

    rgb_hitam, rgb_putih

    kok error ya ini penulisan variable dan type nya gmn, trims

  5. bung itoels · Juni 6, 2015

    Mohon code full delphi di upload, karena banyak yg error.

    Trims byk pak, tuk sharing ilmunya

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s