You are on page 1of 10

2.

3 Histograms
Mengingat citra greyscale, histogram yang terdiri dari histogram tingkat abu-abu; yaitu sebuah grafik
yang menunjukkan berapa kali setiap tingkat abu-abu yang terjadi dalam gambar. Kita dapat
menyimpulkan banyak tentang penampilan gambar dari histogram, seperti contoh berikut
menunjukkan:
Dalam gambar gelap, tingkat abu-abu (dan karenanya histogram) akan berkumpul di ujung
bawah.
Dalam gambar seragam cerah, tingkat abu-abu akan berkumpul di ujung atas.
Dalam gambar kontras baik , tingkat abu-abu akan baik tersebar di banyak rentang.
Kita bisa melihat histogram dari gambar di Matlab dengan menggunakan fungsi imhist:

(perintah axis tight memastikan sumbu histogram secara otomatis disesuaikan dengan ukuran
semua nilai dalam). Hasilnya ditunjukkan pada Gambar 2.8. Karena nilai abu-abu semua berkumpul
di tengah histogram, kita mengharapkan gambar kontras yang buruk, dan memang itu. Mengingat
citra kontras buruk, kami ingin meningkatkan kontras, dengan menyebarkan keluar histogram nya.
Ada dua cara untuk melakukan hal ini.
2.3.1 Histogram stretching (Contrast stretching)
Misalkan kita memiliki sebuah gambar dengan histogram ditunjukkan pada gambar 2.9, yang
berhubungan dengan tabel nomor ni nilai-nilai abu-abu:
Level abu- abu


Gambar Figure 2.8 : Gambar pout.tif dan histogramnya

Gambar 2.9: Histogram dari citra yang berkontras buruk, dan fungsi peregangan
(dengan n= 360, seperti sebelumnya) Kita dapat meregangkan tingkat abu-abu di tengah
dari rentang keluar dengan menerapkan fungsi piecewise linear ditunjukkan di sebelah
kanan pada gambar 2.9. Fungsi ini memiliki efek peregangan tingkat abu-abu 5-9 untuk tingkat abu-
abu 2 14 menurut persamaan:

Dimana i adalah tingkat abu-abu asli dan j hasilnya setelah transformasi. Tingkat abu-abu di luar
kisaran ini baik dibiarkan saja (seperti dalam kasus ini) atau diubah sesuai dengan fungsi linear di
ujung grafik di atas. Hasil ini:

dan histogram yang sesuai:

yang menunjukkan gambar dengan kontras yang lebih besar dari aslinya.

Penggunaan imadjust
Untuk melakukan histogram peregangan di Matlab fungsi imadjust dapat digunakan. Dalam
inkarnasi yang paling sederhana, perintah :

membentang gambar sesuai dengan fungsi yang ditampilkan pada gambar 2.10. Karena imadjust
dirancang untuk peregangan.

Gambar 2.10: Fungsi peregangan diberikan oleh imadjust
bekerja sama dengan baik pada gambar tipe ganda, uint8 atau uint16 nilai-nilai dari a, b, c dan d
harus antara 0 dan 1; fungsi secara otomatis mengkonversi gambar (jika diperlukan) untuk menjadi
tipe ganda.
Perhatikan bahwa imadjust tidak bekerja cukup dengan cara yang sama seperti yang ditunjukkan
pada gambar 2.9. Nilai piksel kurang dari a semua dikonversi ke c dan pixel nilai lebih besar dari b
semua dikonversi ke d.
Jika salah satu dari [a, b] atau [c, d] yang dipilih untuk menjadi [0,1], singkatan [] dapat digunakan.
Jadi, misalnya, perintah

tidak ada, dan perintah

membalikkan nilai-nilai abu-abu dari gambar, untuk menghasilkan hasil yang serupa dengan fungsi
negative.The imadjust fotografi memiliki satu parameter opsional lainnya: nilai gamma, yang
menggambarkan bentuk fungsi antara koordinat (a, c) dan (b, d). Jika gamma adalah sama dengan 1,
yang merupakan default, maka pemetaan linear digunakan, seperti yang ditunjukkan pada gambar di
atas 2.10. Namun, nilai-nilai kurang dari satu menghasilkan fungsi yang cekung ke bawah, seperti
yang ditunjukkan di sebelah kiri pada Gambar 2.11, dan nilai-nilai yang lebih besar dari satu
menghasilkan angka yang cekung ke atas, seperti yang ditunjukkan di sebelah kanan pada gambar
2.11.

Gambar 2.11: Fungsi imadjust dengan gamma tidak sama dengan 1
Fungsi yang digunakan adalah variasi kecil pada garis standar antara dua titik:

Penggunaan nilai gamma saja dapat cukup untuk secara substansial mengubah tampilan gambar.
Sebagai contoh:

menghasilkan hasil yang ditunjukkan pada Gambar 2.12.
Kita mungkin melihat imadjust peregangan fungsi dengan plot fungsi. Sebagai contoh,

menghasilkan plot ditunjukkan pada Gambar 2.13. Karena p dan ph adalah matriks yang
mengandung nilai-nilai asli dan nilai-nilai setelah fungsi imadjust, fungsi alur hanya plot mereka,
menggunakan titik-titik untuk melakukannya.

Gambar 2.12: Gambar ban dan setelah penyesuaian dengan nilai gamma

Gambar 2.13: Fungsi yang digunakan dalam gambar 2.12

Sebuah linier piecewise peregangan fungsi
Kita dapat dengan mudah menulis fungsi kita sendiri untuk melakukan piecewise linear peregangan
seperti yang ditunjukkan pada gambar 2.14.To melakukan hal ini, kita akan menggunakan fungsi
find, untuk menemukan nilai-nilai pixel dalam gambar antara ai dan ai + 1. Karena garis antara
koordinat (ai,bi) dan (ai+1, bi+1) memiliki persamaan

Gambar 2.14: Sebuah linier piecewise peregangan fungsi

jantung dari fungsi akan menjadi garis

dimana im adalah gambar input dan out adalah output gambar. Sebuah prosedur sederhana yang
mengambil gambar sebagai masukan tipe uint8 atau ganda ditunjukkan pada Gambar 2.15. Sebagai
contoh penggunaan fungsi ini:

menghasilkan angka yang ditunjukkan pada gambar 2.16.
2.3.2 Histogram equalization
Masalah dengan salah satu metode di atas histogram peregangan adalah bahwa mereka
membutuhkan input pengguna. Kadang-kadang pendekatan yang lebih baik disediakan oleh
histogram ekualisasi, yang merupakan prosedur sepenuhnya otomatis. Idenya adalah mengubah
histogram ke salah satu yang seragam; itu adalah bahwa setiap bar pada histogram adalah dari
ketinggian yang sama, atau dengan kata lain bahwa setiap tingkat abu-abu dalam gambar terjadi
dengan frekuensi saem. Dalam prakteknya ini umumnya tidak mungkin, meskipun seperti yang akan
kita lihat hasil histogram equalization memberikan hasil yang sangat baik.
Misalkan gambar kita memiliki tingkat abu-abu yang berbeda, dan tingkat abu-abu terjadi kali dalam
gambar.

Gambar 2.15: Sebuah fungsi Matlab untuk menerapkan linear piecewise peregangan fungsi

Gambar 2.16: Gambar ban dan setelah penyesuaian dengan nilai gamma

Gambar 2.17: histogram lain menunjukkan kontras yang buruk
Contoh
Misalkan a 4-bit gambar graysc ale memiliki histogram ditunjukkan pada Gambar 2.17. terkait
dengan tabel nomor ni nilai-nilai abu-abu:
Tingkat abu-abu







Gambar 2.18: Histogram angka 2,17 setelah pemerataan
(dengan n = 360) Kami harapkan gambar ini menjadi cerah merata, dengan titik-titik gelap beberapa
di atasnya. Untuk menyamakan histogram ini, kita membentuk total jalannya ni dan kalikan masing-
masing sebesar 15/360 = 1/24 :
Tingkat abu- abu i Nilai Bulat








Kami sekarang memiliki transformasi berikut nilai-nilai abu-abu, yang diperoleh dengan membaca
dari kolom pertama dan terakhir dalam tabel di atas:
Tingkat keabuan Asli
Tingkat keabuan akhir
dan histogram dari nilai-nilai j ditunjukkan pada Gambar 2.18.
Hal ini jauh lebih tersebar daripada histogram asli, sehingga gambar yang dihasilkan harus
menunjukkan kontras yang lebih besar. Untuk menerapkan histogram equalization di Matlab,
gunakan fungsi histeq ; misalnya:

berlaku histogram equalization ke gambar cemberut, dan menghasilkan histogram yang dihasilkan.
Hasil ini ditunjukkan dalam gambar 2.19. Perhatikan penyebaran jauh lebih besar dari histogram.
berkoresponden ini










Gambar 2.19: Histogram angka 2,8 setelah pemerataan
dengan peningkatan yang lebih besar dari kontras pada gambar. Kami memberikan satu lagi contoh,
bahwa gambar yang sangat gelap. Kita bisa mendapatkan gambar gelap dengan mengambil gambar
dan menggunakan imdivide.

Karena matriks e hanya berisi nilai-nilai yang rendah maka akan muncul sangat gelap ketika
ditampilkan. Kita dapat menampilkan matriks ini dan histogram dengan perintah biasa:

dan hasilnya ditunjukkan pada Gambar 2.20.
Seperti yang Anda lihat, gambar yang sangat gelap memiliki histogram sesuai berat berkerumun di
ujung bawah skala.
Tapi kita bisa menerapkan histogram pemerataan untuk gambar ini, dan menampilkan hasilnya:

dan hasilnya ditunjukkan pada Gambar 2.21.

Mengapa ia bekerja
Perhatikan histogram pada gambar 2.17. Untuk menerapkan histogram peregangan, kita perlu untuk
meregangkan nilai antara tingkat abu-abu 9 dan 13. Dengan demikian, kita akan perlu menerapkan
fungsi piecewise mirip dengan yang ditunjukkan pada gambar 2.9. Mari kita mempertimbangkan
histogram kumulatif, yang ditunjukkan pada Gambar 2.22. Garis putus-putus hanya bergabung
dengan bagian atas bar histogram. Namun, hal itu dapat diartikan sebagai histogram yang tepat


Gambar 2.20: Versi gelap dari engineer.tif dan histogramnya

Gambar 2.21: Gambar dari 2.20 menyamakan kedudukan dan histogramnya

Gambar 2.22: Histogram kumulatif

You might also like