01/10/2018, 17:12

Build 1 vài module trong Opencv cho java android

Xin chào
Mình đang làm 1 app trên java android (sdk) có sử dụng opencv. Tuy nhiên add thư viện opencv cả cục như hướng dẫn trên mạng thì nặng mà trong khi dùng không hết. Nên mình muốn build 1 vài module liên quan cần dùng để app được nhẹ hơn. Nhưng tìm hướng dẫn toàn thấy build cho win, linux chứ k thấy build cho android. Bạn nào từng build như vậy chưa
Xin cảm ơn

Update:
Mình đã tìm được cách build nhưng bị lỗi, không rành cmake lắm

Tao Không Ngu. viết 19:20 ngày 01/10/2018

Hi HelloWorld.
Mình thì chưa build Opencv cho android bào giời. Tuy nhiên về cơ bản khi bạn muốn dùng các thư viện C/C++ trên android thì đều có chung nguyên lý build ra file thư viện .so cho arm (Hầu hết các thiết bị android đều chạy chíp arm) sau đó bạn viết một lớp gọi các hàm của C/C++ trên java bằng JNI.

HelloWorld viết 19:16 ngày 01/10/2018

Biết là vậy nhưng hiện tại mình gặp vấn đề

  1. Dùng cả thư viện dạng native qua JNI, thì sẽ nặng ứng dụng. Mới cài opencv xong, mình release app ra thì đã nặng rồi, chưa làm giao diện hay code gì cả
  2. Dùng opencv manage thì phải cài thêm 1 ứng dụng khác nữa
    Nên mình muốn build riêng 1 vài module cần dùng và đính kèm native vào qua JNI, như vậy sẽ nhẹ hơn. Mình cũng chỉ dùng có vài module như Core, imgproc, ml, codec…

Qua được bước cài đặt mới xem xét tốc độ ntn rồi tính dùng sdk hay ndk

Tao Không Ngu. viết 19:20 ngày 01/10/2018

Hi HelloWorld.

  1. Cái tốc độ không thực sự liên quan đến SDK hay NDK.
    Theo quy trình thì nó như này :
    C/C++ -> build (NDK/gcc/g++ cái gì cũng được) -> .so + interface JNI (NDK) -> gọi lại trên Java.
  2. Dùng cả thư viện dạng native qua JNI, thì sẽ nặng ứng dụng. Cái này có thể là do bạn đang build và dùng toàn bộ thư viện. bạn có thể tìm trong đó các file .so cần và tách dần nó ra dùng riêng từng file một.
Võ Xuân Phong – 26 Apr 17

Cài đặt OpenCV cho Android Studio

Giới thiệu OpenCV là một thư viện mã nguồn mở hàng đầu cho thị giác máy tính (computer vision), xử lý ảnh và máy học, và các tính năng tăng tốc GPU trong hoạt động thời gian thực. OpenCV được phát …

P/S Bạn đang có dự án gì mà cần dùng đến OpenCV vậy ?

HelloWorld viết 19:18 ngày 01/10/2018

bạn có thể tìm trong đó các file .so cần và tách dần nó ra dùng riêng từng file một

Mình đang cần lắm hướng dẫn này :3

Bạn đang có dự án gì mà cần dùng đến OpenCV vậy ?

Mình làm mấy cái pet project ấy mà

HelloWorld viết 19:22 ngày 01/10/2018

Mình làm theo cách trên. Add thư viện xong, chưa làm giao diện hay code gì, build ra app là 76mb dùng bản opencv 3.4.0
Còn nữa bản 3.4.0 chỉ hỗ trợ cho api > 21 (android 5.0) mà mình không hạ được ver của opencv xuống vì ver dưới 3.4.0 pca bị lỗi T.T
Bạn có cách nào giảm dung lượng của app không

HelloWorld viết 19:20 ngày 01/10/2018

Help me
Help me

Bài liên quan
0