2012-09-20 24 views
6

Tôi cần tạo ứng dụng nhận dạng hình ảnh. Tôi đã đi qua hướng dẫn OpenCV và nó nói rằng tôi cần phải cài đặt OpenCV quản lý từ Google chơi mà tôi nghĩ là không tốt từ một điểm người dùng xem. Nhưng sau khi đào bới trong nhiều giờ tôi nhận thấy rằng OpenCV là phổ biến nhất và đáng tin cậy trong số tất cả. Có bất kỳ thay thế tốt nào cho OpenCV không yêu cầu cài đặt một ứng dụng khác. Và khởi tạo tĩnh này của OpenCV là gì. Và nếu tôi không muốn cài đặt trình quản lý OpenCV thì tôi nên biết NDK như thế nào.Android - thay thế cho OpenCV?

Trả lời

1

Khởi tạo tĩnh là sự thay thế cho trình quản lý OpenCV, với thư viện được bao gồm trong gói ứng dụng (như trong quá khứ) và người dùng không cần cài đặt trình quản lý. Ngoài ra, các nhà phát triển cũng đang nỗ lực làm cho việc quản lý cách triển khai ứng dụng trở nên mượt mà hơn cho người dùng.

+1

Ok đây là một câu hỏi nữa. Nếu tôi làm initialisation tĩnh những tập tin nào tôi cần phải thêm vào thư mục lib của tôi. Hướng dẫn OpenCV đã cho tôi một hình ảnh mờ về cách nó hoạt động. Tôi đã kiểm tra các tập tin bên trong native/libs và đây là một số tệp lớn về kích thước mà tôi sẽ không thêm chút nào. Làm thế nào họ có thể có một ứng dụng OpenCV quản lý của 375kb làm tất cả những thứ đòi hỏi megs của các tập tin. Tôi nghĩ rằng tôi đang bối rối. Bạn có thể giải thích thêm một chút rằng những tập tin từ thư mục lib mà tôi sẽ yêu cầu để làm cho mọi thứ hoạt động trong ứng dụng của tôi. – Varundroid

+0

xin lỗi vì đã hỏi nội dung mới nhưng tôi chưa bao giờ làm bất cứ điều gì như thế này trước đây. – Varundroid

+1

Trình quản lý OpenCV là 375kb vì nó sẽ nhắc bạn tải xuống một lib trong vài MB phụ thuộc vào CPU của điện thoại thông minh của bạn. Bạn phải bao gồm lib theo cách thủ công khi bạn thực hiện phương thức tĩnh. Từ những tệp "khổng lồ" này, bạn phải chọn một quyền cho các thiết bị đích hoặc bao gồm tất cả chúng. Tôi nghĩ nếu bạn bao gồm tất cả các ứng dụng của bạn sẽ không vượt quá 25Mb, phải không? –

2

Bạn có thể gửi OpenCV trong gói của riêng mình nếu muốn, bạn không thực sự cần người quản lý. Nếu bạn gửi OpenCV trong gói của mình, bạn có thể sử dụng nó ở cấp độ gốc (C/C++), nhưng bạn cũng có thể sử dụng trình bao bọc để sử dụng nó trực tiếp ở cấp Java.

+0

+1. Cảm ơn câu trả lời của bạn. – Varundroid

+0

QUAN TRỌNG: Trình quản lý OpenCV chứa thư viện opencv gốc được biên dịch với gnustl_static ... Trong trường hợp mã C++ của bạn được biên dịch bằng gnustl_static, điều này có thể dẫn đến các sự cố khủng khiếp !!! chỉ cần đọc phần "Thời gian chạy tĩnh" của CPLUSPLUS-SUPPORT.html trong trang tài liệu của NDK – Sdra

1

Có thể bạn có thể sử dụng thư viện Qualcomm Vuforia. Tôi chưa bao giờ sử dụng nó nhưng tôi đã nghe về nó rất nhiều.

+0

Vuforia là công cụ AR lớn. tôi không thể thêm nhiều chi phí trong ứng dụng của mình nhưng vẫn cảm ơn lời khuyên của bạn. – Varundroid

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