MENGGUNAKAN PENAJAMAN CITRA UNTUK MEMPERTAJAM TAMPILAN CITRA
Tujuan : Memperkenalkan penajaman citra cara untuk mengoptimalkan tampilan citra.
Terget : Setelah selesai tutorial ini kita telah menjelajahi menu Stretch (penajaman) pada sofware Bilko dan mempelajari bagaimana penajaman dapat digunakan untk mengoptimalkan tampilan citra pada layar monitor dan membuat kita lebih mudah untuk melihat objek atau pola yang ingin kita teliti atau pola khusus. Kita juga akan belajar bagaimana mengoptimalkan tampilan citra dengan data yang memiliki nilai lebih besar dari 255 (citra non – 8 bit), menggunakan pilihan pada Redisplay Image.
Pada tutorial kali ini kita menggunakan citra AVHRR_Mulls#04.bmp yang merupakan AVHRR yang diambil pada saluran #4 pada saluran inframerah thermal pada panjang gelombang 10.50 – 11.50 mikro meter. Citra telah diproses dan diskalakan menjadi 8 bit. Berdasarkan perjanjian, area yang gelap lebih panas pada citra termal AVHRR, sedangkan pada bagian yang lebih dingin tampak lebih cerah. Kita harus familiar dengan histogram citra (seperti pada tutorial sebelumnya) sebelum mencoba tutorial ini.
Buka file AVHRR_Mulls#04.bmp, File ‣ Open ‣ AVHRR_Mulls#04.bmp
Untuk mengetahui histogram mari buka histogramnya, Pilih pada menu Edit ‣ Select All atau menggunakan <Shift>+<Spacebar> atau or <Ctrl>+A, untuk menyeleksi seluruh piksel citra.
Kemudian pilih menu File ‣ New ‣ HISTOGRAM Document ‣ Ok
Pada tutorial ini, kita akan melihat hasil dari penajam citra automatic linear stretch dan manual stretch. Untuk lebih jelas mari kita perhatikan histogram citra AVHRR_Mulls#04.bmp pada bagian tubuh air seprti histogram di bawah. Sebelum melakukan penajaman citra, pada bagian tubuh air (laut) terlihat memiliki kontras yang relatif kecil.
Menu stretch pada Bilko memiliki tujuh pilihan, seperti di bawah ini.
Sebelum menggunakan menu stretch pastikan pilihan Options pada menu Stretch, AutoLinear Min% = 0 and Max% = 100, dan pada kotak pilihan Apply stretches to charts, clipboard etc pastikan tercentang, seperti gambar di bawah.
Untuk mengaplikasikan penajaman citra pastikan seluruh piksel pada citra terseleksi, melalui <Ctrl>+A. Sekarang pilih menu Stretch ‣Auto Linear
Secara visual terlihat hasil penajaman menggunakan penajaman Auto Linear citra terlihat lebih cerah dan kontras lebih terlihat. Untuk melihat pengaruhnya secara langsung, mari kita lihat bentuk histogramnya setelah penajaman.
Setelah penajaman Auto Linear
Sebelum penajaman
Gambar di atas membandingkan histogram yang belum menngalami penajaman (nilai piksel maksimum kecerahannya adalah 178) dengan histogram yang telah mengalami penajaman Auto linear , dimana nilai piksel pada citra tersebar pada selurung rentang nilai kecerahan (0 – 255). Jadi, nilai piksel yang memiliki nilai kecerahan 178 sekarang memiliki nilai 255. Pada istilah matimatika nilai piksel yang asli (178) telah dikali dengan 255/178. Atau dengan rumus
Nilai piksel asli x nilai max pada rentang kecerahan (255)/nilai maksimal pada histogram (178)
Ini merupakan jalan paling mudah untuk menajamkan citra sehingga nilai piksel tersebar pada seluruh rentang penajaman.
Sekarang mari kita uji nilai piksel yang lain apakah menghasilakn nilai sesuai rumus atau tidak berdasarkan histogram citra. Mari kita uji nilai piksel pada puncak kurva objek tubuh air (laut), terlihat bahwa setelah penajaman nilai piksel adalah 219, yang nilai ini diperoleh dari 153 * 255/178. Seperti halnya jika kita menguji puncak pada objek daratan kita akan mendapati bahwa piksel 34 akan menjadi 49 (=34 x 255/178).
Dengan penajaman, kita hanya mengubah nilai tampilan pada layar monitor tetapi tidak mengubah nilai yang sebenarnya. Untuk membuktikannya mari kita cermati nilai piksel pada posisi tertentu dalam citra. Klik pada tombol Point selection pada toolba, pilih menu Edit ‣ Go To ‣ masukkan pada kolom position koordinat piksel x, y (90, 135).
Sekarang lihat pada status bar maka terlihat bahwa nilai piksel sekarang pada layar berubah menjadi 249 (= 174 x 255/178) dan nilai data asli tetap tidak berubah.
sebelum melangkah ke manual stretch mari kita tutup jendela hsitogram dan menghilangkan pengaruh penajaman. Klik pada citra AVHRR_Mulls#04.bmp yang telah tertajamkan, pada menu Stretch ‣ Clear atau dengan tombol <Delete> pada keybord.
Penajam Manual
Sering kita tertarik pada suatu bagian dari citra, seebagai contoh oceanografer tidak tertarik pada piksel daratan tetapi hanya pada piksel laut. Pada kasus seperti ini orang menajamkan citra lebih suka hanya pada piksel yang menjadi kajian dan mengabikan yang tidak menjadi kajian. Kasus ini bisa diselesaikan dengan manual stretch.
Untuk menjamkan secara manual, pastikan citra AVHRR_Mulls#04 .bmp pada posisi aktif. Pada menu Stretch ‣Manual ‣ maka muncul grafik seperti gambar di bawah yang merupakan grafik lookup table default dan menunjukkan nilai piksel (grayscale) pada sumbu x yang di tranformasikan pada sumbu y, tetapi masih belum ada perubahan. Jadi nilai piksel 0 masih ditampilkan 0 dan nilai 178 masih ditampilkan 178.
Posisikan pointer mouse pada grafik penajaman dimana garis y = x (dari (0,0) sampai (255,255)) di titik koordinat sekitar (175, 175) dan double-click pada garis. Kotak kecil akan muncul pada garis yang disebut sebagai “knee-point” dan dapat digunakan untuk mengubah nilai piksel yang akan ditranformasikan pada layar monitor.
Pertama kita akan membuat bentuk penajaman yang sama dengan penajaman automatic linear stretch seperti yang telah kita coba di atas. Pada penajaman ini bertujuan untuk menaingkatkan kemiringan garis penajaman (slope), sehingga nilai piksel 0 tetap 0 pada layar monitor, sedangkan nilai maksimum 178 menjadi 255. Untuk melakukan ini geser (dapat menggunakan mouse atau menggunakan tombol arah + <Ctrl> untuk menggeser 1 poin) knee-point ke atas hingga koordinat pada status bar menunjukkan koordinat (178, 255), seperti gambar di bawah.
Kecerahan citra akan segera berubah sesuai perubahan pada grafik garis penejaman citra. Berdasarkan grafik di atas nilai citra rentang 0 – 178 menjadi rentang 0 – 255, dimana nilai piksel yang lebih dari 178 akan ditransformasi menjadi 255.
Berikut adalah histogram hasil penajaman citra
Nilai piksel pada rentang 0 hingga 62 pada citra AVHRR_Mulls#04.bmp adalah daratan. Jika kita tidak tertarik pada objek daratan, kita dapat membuat nilai piksel daratan menjadi 0, sehingga nilai piksel yang tersisa adalah tubuh air dengan rentang 62 – 178. Untuk mengerjakannya kita membutuhkan satu knee-point lagi hingga koordinat pada status bar menjadi (62,000).
Perhatikan sekarang daratan berubah menjadi hitam dengan tubuh air tampak cerah dan memperlihatkan perbedaan objek pada tubuh air daripada dengan penajaman biasa.
Berikut adalah histogram hasil penajaman citra
Kita dapat lebih lanjut memperbaiki penajaman pada tubuh air dengan menggunakan knee-point ketiga untuk mengurangi pengaruh piksel bukan tubuh air yang memiliki rentang 62 - 130. Dengan mengatur rentang nilai piksel 62 – 130 maka kita dapat menajamkan nilai piksel pada tubuh air secara maksimal dengan rentang 130 – 178.
Dengan menghilangkan nilai piksel bukan tubuh air maka kontras pada tubuh air semakin jelas dan perbedaan objek semakin detail.
Berikut adalah histogram hasil penajaman citra
Terlihat bahwa yang tertajamkan hanya pada bagian kurva tubuh air.
Kita dapat menyimpan grafik penaman citra jika grafik tersebut berguna. Sebelum kita menyimpannya, kita perlu memberi keterangan atau label secra jelas menerangkan tentang apa. Pastikan jendela grafik aktif, kemudia pilih menu Option atau klik kanan pada jendela grafik, maka muncul grafik seperti di bawah ini.
Pilih pada pilihan Names, maka dialog box Names muncul
Kita dapat mengisinya sesuai dengan keterangan yang relefan sesuai dengan informasi grafik. Kemudian klik OK
Dan untuk menyimpannya, Pilih menu File ‣ Save As ‣ AVHRR_Mulls#04.str
Menampilkan citra Non – 8 Bits
Pada tutorial sebelumnya kita telah mengenal Redisplay Image dialog box secara singkat. Untuk citra yang direkam dan disimpan lebih dari 8 bit (citra dengan nilai piksel > 255) Redisplay Image berfungsi untuk memetakan (menstrasformasikan) dan menajamkan citra menjadi 8 bit pada tampilan layar. Terdapat beberapa fungsi diantaranya adalah Linear, Logaritmic, Auto Linear, Equalize, dan Gaussian. Kita akan membahas bagaimana cara kerja Redisplay Image dengan citra AVHRR 16 bit integer (yang direkam sebagai 10 bit (0 – 1023), tetapi disimpand sebagai 2 byte = 16 bit per piksel). Citra direkam pada wilayah Afrika barat menggunakan infra merah termal. Pada kasus ini nilai SST (sea surface temperature) sebenarnya menggunakan Kelvin adalah 273, 15 + 0.01*nilai piksel citra.
Buka citra AVHHR_West_Africa#04.dat tanpa mengubah dialog box Redisplay Image.
Jangan ubah apapun yang ada pada dialog box Redisplay Image. Hasilnya adalah citra dengan tampilan dengan hitam dan putih saja, dimana objek tidak terlihat, sedangkan yang putih adalah awan.
Untuk mengetahui kenapa ini dapat terjadi, kita dapat melihat histogram citra. Klik kanan pada citra, pilih New ‣ HISTOGRAM document
Maka akan muncul histogram dengan rentang 0 – 1023 dengan jarak satu dan yang lain 0.5 (Bilko 3.4), sedangkan jika kita menggunakan Bilko 3.2, kita akan mendapati nilai piksel dengan rentang 0 – 65550. Seharusnya nilai yang benar adalah 0 – 1023 karena citra disimpan dalam 10 bit, tetapi seperti yang tertera pada Redisplay Image min = 0 dan max = 65532, maka kita akan menggunakan histogram yang ada pada Bilko 3.2.
Bilko 3.4
Bilko 3.2
Perhatikan histogram dan mari kita cek bagian histogram paling kanan pada sumbu X maka kita akan mendapati nilai piksel awal 65500 dan akhri 65549 dengan frekuensi 372 (0.08% dari keseluruhan piksel).
Pada piksel yang mengelompok nilai rendah ( nilai piksel < 5000) merepresentasikan nilai emisi infra merah termal dari laut dan daratan, sedangkan pada kluster nilai yang tinggi (nilai piksel > 60.000) merepresentasikan nilai emisi dari awan. Perbedaan yang besar pada citra tersebut membuat daratan dan lautau tidak terlihat secara benar (hanya hitam dan putih). Untuk melihat daratan dan lautan maka perlu untuk mengatur pada Redisplay Image, sehingga nilai piksel yang tinggi dapat diabaikan.
Pertama pada pilihan menu Stretch ‣ Options ‣ pada dialog boxnya atur AutoLinear Min% = 5 and Max% = 95, dan centang pada kotak Apply stretches to charts, clipboard etc ‣ Klik Ok
Kemudian klik kanan pada citra AVHHR_West_Africa#04.dat dan pilih Redisplay, maka akan muncul dialog box Redisplay Image. Kita tidak akan memasukkan nilai yang lebih dari 4150 sehingga nilai di atas tersebut akan diabaikan dalam perentangan, maka dalam dialog box pilih >= 4150 pada kotak Null value(s) dan centang pada kotak centang Null value(s). Pilih Auto linear stretch dan klik Apply.
Maka muncul citra hasil penajam seperti di bawah.
Menggunakan penajaman Equalize
Sekarang kita bisa melihat citra hitam putih dengan SST yang ditampilkan pada tingkat kecerahan berbeda, sehingga objek terlihat (laut dan daratan). Seperti terlihat bahwa awan berwarna putih dan penajaman citra Equalize memberikan kontras yang lebih nyata. Lebih lanjut lagi, Jika kita ingin mengabaikan daratan maka kita dapat mengatur menjadi >= 2150. Jadi dalam kegiatan ini yang perlu diperhatikan adalah kita harus peka dan paham nilai yang mencerminkan objek tertentu sehingga kita bisa fokus pada objek kajian yang ingin kita kaji.
Terlihat daratan menjadi putih dan objek laut lebih terlihat kontras.
Seperti yang telah kita kerjakan, dengan citra 16 bit seperti AVHHR_West_Africa#04.dat, kita telah mencobah bahwa mengoptimalkan tampilan pada citra ini sedikit lebih rumit dari pada citra 8 bit. meskipun begitu, hasil yang sama dapat di capai dengan menggunakan pilihan Redisplay Image dan penajaman akhir dapat menggunakan Manual stretch secara lebih interaktif.
Terlihat daratan menjadi putih dan objek laut lebih terlihat kontras. Seperti yang telah kita kerjakan, dengan citra 16 bit seperti AVHHR_West_Africa#04.dat, kita telah mencobah bahwa mengoptimalkan tampilan pada citra ini sedikit lebih rumit dari pada citra 8 bit. meskipun begitu, hasil yang sama dapat di capai dengan menggunakan pilihan Redisplay Image dan penajaman akhir dapat menggunakan Manual stretch secara lebih interaktif. Tambahan, sering kita tahu bahwa terdapat citra yang sudah memiliki nilai piksel = Null, seperti hasil masking dari laut, awan atau daratan pada citra tersebut diatur nol. Pada kasus ini, pada Redisplay Image, Null value diatur menjadi Null value(s): == menjadi 0. Pada beberapa citra AVHRR nilai -32768 digunakan sebagai nilai “fill”, nilai untuk mengganti piksel yang rusak dan akan membuat jelek tampilan citra. Pada kasus ini Null value pada Redisplay Image menjadi Null value(s): == –32768