0
Hỏi về thuật toán so sánh 2 tấm ảnh trả về phần trăm.
Chào các anh chị. Em có 1 khuất mắc mà không thể nào hiểu được.
Mình có cách nào có 1 tấm ảnh cho trước. Sau đó chụp tấm ảnh khác rồi hệ thống sẽ tự compare 2 tấm ảnh và trả tỉ lệ % cho mình không ạ.
Anh chị nào đang làm cái này cho em hỏi keyword để em search ạ.
Cảm ơn anh chị.
Thêm một bình luận
2 CÂU TRẢ LỜI
+6
Có rất nhiều phương án để bạn có thể lựa chọn, tùy vào mục đích và công sức bỏ ra:
- một cách trực diện và cơ bản nhất, bạn có thể so sánh pixel-by-pixel hai tấm ảnh với nhau. Về cơ bản một tấm ảnh cũng chỉ là các điểm ảnh, mỗi điểm ảnh là một mảng màu RGB [0-255, 0-255, 0-255] mà thôi. Giống bao nhiêu thì quy ra % từng đó.
- nâng cao thêm chút thì bạn có thể điều chỉnh tăng-giảm các yếu tố RBG trong trường hợp 2 ảnh không cùng độ sáng, hoặc convert về gray-scale để so sánh, hoặc dịch chuyển toàn bộ pixel của một bức ảnh lên trên - xuống dưới - qua trái - qua phải trong trường hợp 2 ảnh lệch nhau về góc nhìn.
- nâng cao thêm chút nữa thì bạn có thể dùng các mô hình deep learning để đánh giá độ giống nhau giữa các hình ảnh, ví dụ https://medium.com/@akarshzingade/image-similarity-using-deep-ranking-c1bd83855978
keyword: image diff, image similarity, image similarity deep learning, image similarity metrics
Nếu làm bằng PHP thì có thể dùng PHP iMagick, có hỗ trợ sẵn các hàm compare!
+1
Có thể dùng concept như face encoding thành [1,128] matrix, sau đó bạn có thể tính euclid distance giữa hai matrix để tính simlar score.