Saya memiliki 2 folder dengan masing-masing lebih dari 5.000 foto:
- Folder 1: file asli dalam kualitas yang baik tetapi dengan nama yang dapat dibaca manusia (misalnya
saigon_motorcycle_traffic.jpg
) - Folder 2: file yang sama dalam kualitas sangat buruk (lebar 450px) tetapi dengan id bersih yang cocok dengan database (misalnya
562634.jpg
).
Tujuannya adalah untuk mencocokkan gambar highres dengan ID basis data.
Pertanyaan saya: Apa cara tercepat untuk mengubah nama versi highres menjadi versi saigon_motorcycle_traffic.jpg
yang lebih rendah 562634.jpg
?
Saya telah mencoba banyak perangkat lunak (mis. Pembersih foto duplikat , VisiPics , XnView, DupliFinder, ...), mereka semua menemukan duplikatnya tetapi tidak satupun dari mereka menawarkan cara yang tepat untuk jenis renaiming atau fungsi ekspor yang sesuai.
Sunting: Saya belum mencoba skrip apa pun (sebagaimana tercantum dalam komentar) seperti yang saya ketahui tidak ada dan tidak menemukannya. Jika Anda tahu sesuatu, beri tahu saya.
Beberapa hal tidak akan berfungsi: mencocokkan dimensi gambar tidak akan berfungsi (sebagian besar gambar memiliki dimensi yang sama), mencocokkan tanggal pembuatan tidak akan berfungsi (itu semua kacau) dan melakukannya dengan tangan tidak akan berfungsi karena saya ingin jaga kesehatan mental saya ;-)
sumber
Jawaban:
Saya akhirnya menulis rutin PHP (saya tidak akan memposting kode lengkap karena ini solusi yang benar-benar najis) yang melakukan trik.
Dengan menggunakan phasher, saya dapat mengulangi semua file gambar dan menemukan duplikat yang dicurigai (!): Setiap gambar ditransformasikan menjadi hash kecil (berdasarkan versi gambar 8x8). Hash ini kemudian dapat dibandingkan.
2 hal yang perlu diingat:
sumber