Cài đặt và ví dụ minh họa sử dụng OpenCV trong android
Bài đăng này đã không được cập nhật trong 3 năm
Giới thiệu OpenCV
OpenCV (Open Computer Vision) là một thư viện mã nguồn mở chuyên dùng để xử lý các vấn đề liên quan đến thị giác máy tính. Nhờ một hệ thống các giải thuật chuyên biệt, tối ưu cho việc xử lý thị giác máy tính, vì vậy tính ứng dụng của OpenCV là rất lớn, có thể kể đến như:
- Nhận dạng ảnh: nhận dạng khuôn mặt, các vật thể …
- Xử lý ảnh: khử nhiễu, điều chỉnh độ sáng …
- Nhận dạng cử chỉ
- Và còn rất nhiều ứng dụng khác nữa
Và hiện nay đã có phiên bản dành cho mobile trên nền Android, iOS. Bài này giới thiệu cách cài đặt môi trường và một số khái niệm cơ bản nhất để phát triển ứng dụng xử lý ảnh trên nền Android sử dụng OpenCV.
Chuẩn bị cho cài đặt OpenCV
- Android studio
- Bạn tải bộ SDK của OpenCV tại:
https://sourceforge.net/projects/opencvlibrary/files/opencv-android/
Trong bài hướng dẫn này mình dùng version 3.1.0.
Tích hợp OpenCV vào project Android
Bạn làm theo từng bước hướng dẫn bên dưới:
-
Tạo 1 project với tên
OpenCVTest
-
Với file giải nén được tải về bên trên, import module opencv sdk theo đường dẫn thư mục :
OpenCV-3.1.0-android-sdk\OpenCV-android-sdk\sdk\java
-
Sau khi import xong bạn cần cập nhật file gradle của module
openCVLibrary310
cho giống với project gốc vềcompileSdkVersion
vàtargetSdkVersion
-
Vẫn chưa sử dụng được thư viện OpenCV cho project này bạn cần 1 bước nữa, đi đến
File->ProjectStructure
chọn module là app, tại tab dependencies bạn add moduleopenCVLibrary310
vào moduleapp
-
Có hai cách để ứng dụng sử dụng OpenCV của bạn chạy trên điện thoại android
- Cách 1: Bạn giữ nguyên config như trên và cài thêm OpenCV Manager từ CHPlay
- Cách 2: Config sử dụng trực tiếp OpenCV trong project thông qua NDK
-
Ở đây mình sẽ hướng dẫn cách config cách thứ 2, bạn download thư mục jniLibs của OpenCV tại đây và copy bỏ vào cây thư mục của project như hình bên dưới.
Minh họa sử dụng thư viện OpenCV
Trong ví dụ minh họa này, chương trình của ta có khả năng:
- Load một ảnh từ thư viện
- Sử dụng OpenCV để tạo effect three hold cho ảnh và hiển thị kết quả lên màn hình
Kết quả
Source code tham khảo
All rights reserved