2012-11-05 29 views
5

Tôi là người mới vào lĩnh vực CV và tôi đang làm một nhiệm vụ tương đối đơn giản, tôi muốn phân tích giá trị của đá domino.Nhiệm vụ nhận dạng hình ảnh đơn giản trong Android: Đọc Dominoes

Tôi đã sử dụng phương pháp phân tích blob, không thực sự hiệu quả trên Android vì tôi đã sử dụng mã java thuần túy có xu hướng chậm hơn so với C. Và dữ liệu nền đã gây ra sự cố cho tôi vì nó có thể có các đốm màu. Sau khi đọc quá nhiều, tôi đã chạy qua phương thức 'khớp mẫu' có vẻ như là tốt nhất với tôi, vì nhu cầu tài nguyên thấp và khả năng xoay/mở rộng quy mô, tôi có thể dễ dàng lưu mẫu của mọi phần của domino và sau đó khớp nó trong hình ảnh sắp tới để phân tích và đếm. Bây giờ tất cả những gì tôi muốn là hướng dẫn của bạn đến các thư viện/phương pháp có thể giúp tôi thực hiện khớp mẫu, tôi thích java thuần túy hơn nhưng có thể sử dụng libs gốc nếu không tìm thấy sự lựa chọn nào.

P.S: Nếu bạn thấy tôi sai về thuật toán tôi đã chọn, vui lòng cung cấp cho tôi lời khuyên của bạn.

Trả lời

8

Nhận dạng hình ảnh là chế độ xử lý cấp cao trong tầm nhìn máy tính trước hết bạn phải thực hiện một số tiền xử lý trước và phát hiện đối tượng trước.

Để thực hiện đối sánh mẫu đầu tiên, bạn phải tìm khu vực bạn quan tâm đến hình ảnh bạn muốn nhận ra. Để làm điều đó bạn có thể chọn một từ nhiều thuật toán như phát hiện dựa trên tính năng và phát hiện dựa trên sự xuất hiện. Sau khi tìm thấy ROI (Region yêu thích), bạn có thể làm mẫu phù hợp (tôi giả sử bạn đã hiểu các khái niệm về mẫu phù hợp)

bản tóm tắt của nó, bạn có thể nhìn thấy nó trong sơ đồ dòng chảy bên dưới

Template Matching Flow Diagram

và ví dụ về mẫu phù hợp với

enter image description here

sau khi bạn hiểu được toàn bộ quá trình, bạn có thể sử dụng một số thư viện avaible hỗ trợ android nền tảng như OpenCV (Mã nguồn mở) hoặc FastCV bởi Qualcomm, cả hai đều sử dụng nguồn gốc C, do đó bạn phải sử dụng NDK của Android để biên dịch nó.

Nếu bạn có bất kỳ câu hỏi nào, hãy hỏi tôi trong nhận xét :)

Các vấn đề liên quan