Algoritme penghitungan hashing atau CRC normal tidak berfungsi dengan baik dengan data gambar. Sifat dimensi informasi harus diperhitungkan.
Jika Anda memerlukan sidik jari yang sangat kuat, sehingga transformasi affine (penskalaan, rotasi, terjemahan, membalik) diperhitungkan, Anda dapat menggunakan transformasi Radon pada sumber gambar untuk menghasilkan pemetaan normatif dari data gambar - simpan ini dengan setiap gambar dan lalu bandingkan hanya dengan sidik jarinya. Ini adalah algoritma yang kompleks dan bukan untuk orang yang lemah hati.
beberapa solusi sederhana dimungkinkan:
- Buat histogram luminositas untuk gambar sebagai sidik jari
- Buat versi yang diperkecil dari setiap gambar sebagai sidik jari
- Gabungkan teknik (1) dan (2) ke dalam pendekatan hybrid untuk meningkatkan kualitas perbandingan
Histogram luminositas (terutama yang dipisahkan menjadi komponen RGB) adalah sidik jari yang wajar untuk sebuah gambar - dan dapat diimplementasikan dengan cukup efisien. Mengurangkan satu histogram dari yang lain akan menghasilkan histogram baru yang dapat Anda proses untuk memutuskan seberapa mirip dua gambar tersebut. Histogram, karena hanya mengevaluasi distribusi dan kemunculan luminositas / informasi warna menangani transformasi affine dengan cukup baik. Jika Anda mengukur informasi luminositas setiap komponen warna hingga nilai 8-bit, penyimpanan 768 byte sudah cukup untuk sidik jari dari gambar dengan ukuran apa pun yang wajar. Histogram luminositas menghasilkan negatif palsu saat informasi warna dalam gambar dimanipulasi. Jika Anda menerapkan transformasi seperti kontras / kecerahan, posterize, perubahan warna, perubahan informasi luminositas.
Menggunakan gambar berskala adalah cara lain untuk mengurangi kepadatan informasi gambar ke tingkat yang lebih mudah untuk dibandingkan. Pengurangan di bawah 10% dari ukuran gambar asli umumnya kehilangan terlalu banyak informasi untuk digunakan - sehingga gambar 800x800 piksel dapat diperkecil menjadi 80x80 dan masih memberikan informasi yang cukup untuk melakukan sidik jari yang layak. Tidak seperti data histogram, Anda harus melakukan penskalaan anisotropik pada data gambar jika resolusi sumber memiliki rasio aspek yang berbeda-beda. Dengan kata lain, memperkecil gambar 300x800 menjadi thumbnail 80x80 menyebabkan deformasi gambar, sehingga jika dibandingkan dengan gambar 300x500 (yang sangat mirip) akan menyebabkan negatif palsu. Sidik jari thumbnail juga sering menghasilkan negatif palsu saat transformasi affine terlibat. Jika Anda membalik atau memutar gambar,
Menggabungkan kedua teknik adalah cara yang masuk akal untuk melindungi taruhan Anda dan mengurangi terjadinya positif palsu dan negatif palsu.