Tôi đã làm điều tương tự, bằng cách phân tách hình ảnh thành chữ ký bằng cách sử dụng wavelet transform.
Cách tiếp cận của tôi là chọn các hệ số n quan trọng nhất từ mỗi kênh được chuyển đổi và ghi lại vị trí của chúng. Điều này được thực hiện bằng cách phân loại danh sách (power, location) tuples theo abs (power). Những hình ảnh tương tự sẽ chia sẻ những điểm giống nhau ở chỗ chúng sẽ có hệ số đáng kể ở cùng một vị trí.
Tôi thấy tốt nhất là chuyển đổi hình ảnh sang định dạng YUV, cho phép bạn có được sự tương đồng về trọng lượng trong hình dạng (kênh Y) và màu (kênh UV).
Bạn có thể tìm thấy trong thực hiện của tôi ở trên trong mactorii, mà tiếc là tôi chưa được làm việc trên nhiều như tôi nên có :-)
Một phương pháp, mà một số người bạn của tôi đã sử dụng với cách đáng ngạc nhiên kết quả tốt, chỉ đơn giản là thay đổi kích thước hình ảnh của bạn xuống để nói, một pixel 4x4 và cửa hàng là chữ ký của bạn. Bạn có thể ghi 2 hình ảnh tương tự như thế nào bằng cách nói, tính toán Manhattan distance giữa 2 hình ảnh, sử dụng các pixel tương ứng. Tôi không có chi tiết về cách họ thực hiện thay đổi kích thước, vì vậy bạn có thể phải chơi với các thuật toán khác nhau có sẵn cho nhiệm vụ đó để tìm một trong đó là phù hợp.
Có một số câu trả lời tốt trong câu hỏi tương tự khác này: http://stackoverflow.com/questions/25977/how-can-i-measure-the-similarity-between-two-images – blak
một rất nhiều 'cans' và 'mights'. Bất cứ ai cũng thử tất cả các đề xuất này và biết điều gì là tốt nhất? –
Đã lâu rồi kể từ khi tôi nhìn vào máy tính, nhưng hãy xem Matlab, có một số chức năng tốt trong đó để phân tích hình ảnh và sau đó so sánh sự giống nhau của ma trận kết quả, dựa trên các số liệu khác nhau để so sánh. Phân tích quang phổ – Mason