Asked May 2nd, 2018 10:55 AM 681 0 2
  • 681 0 2
0

Hỏi về thuật toán so sánh 2 tấm ảnh trả về phần trăm.

Share
  • 681 0 2

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ị.

2 ANSWERS


Answered May 3rd, 2018 1:18 AM
Accepted
+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

Share
Tran Tuan Anh @trantuananh.info
May 4th, 2018 4:46 AM

Nếu làm bằng PHP thì có thể dùng PHP iMagick, có hỗ trợ sẵn các hàm compare!

Screen Shot 2018-05-04 at 11.45.37 AM.jpg

+1
| Reply
Share
Answered May 4th, 2018 8:57 AM
+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.

Share