Tác vụ: Tôi có một camera được gắn ở cuối dây chuyền lắp ráp của chúng tôi, trong đó chụp ảnh các mặt hàng được sản xuất. Ví dụ: giả sử chúng tôi sản xuất vé (với một số văn bản và hình ảnh trên đó). Vì vậy, mỗi vé sản xuất được chụp ảnh và lưu vào đĩa dưới dạng hình ảnh. Bây giờ, tôi muốn kiểm tra những hình ảnh đã lưu này về các bất thường (ví dụ: so sánh chúng với hình ảnh (mẫu), điều này là OK). Vì vậy, nếu có sự cố với vé trên dây chuyền lắp ráp của chúng tôi (ảnh thiếu, vết bẩn, ...), ứng dụng của tôi sẽ tìm thấy nó (vì hình ảnh của nó khác quá nhiều so với mẫu ).So sánh hình ảnh để tìm sự khác biệt
Câu hỏi: Cách dễ nhất để so sánh hình ảnh và tìm sự khác biệt giữa các hình ảnh là gì? Tôi có cần phải viết các phương pháp của riêng mình hay tôi có thể sử dụng các phương pháp hiện có hay không ? Sẽ tuyệt vời nếu tôi chỉ đặt giá trị dung sai (tức là hình ảnh có thể khác nhau 1%), đặt cả hai hình ảnh vào một hàm và nhận giá trị trả lại là đúng hoặc sai :)
Công cụ: C# hoặc VB. NET, Emgu.CV (NET wrapper cho OpenCV) hoặc một cái gì đó tương tự
Việc băm nhỏ là một ý tưởng hay, nhưng phân tích pixel theo điểm ảnh sẽ không mang lại hiệu suất tối ưu do số lượng pixel tối đa cho mỗi hình ảnh (nghĩ 1600 * 1200 byte hoặc 1,875 MB trong thang độ xám) – sum1stolemyname
như nó phụ thuộc vào tốc độ của thuật toán được sử dụng, vì bất kỳ thuật toán nào được kỳ vọng nhận ra sự khác biệt trên 1-2% sẽ phải lặp lại toàn bộ tệp. Có thể thực hiện phép trừ nhanh các hình ảnh, sau đó cộng lại số dư. Đó sẽ là nhanh như bạn có thể làm cho nó trong khi vẫn kiểm tra toàn bộ hình ảnh. – tloflin