Cài đặt và ví dụ minh họa sử dụng OpenCV trong android

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ề compileSdkVersiontargetSdkVersion

  • 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 module openCVLibrary310 vào module app

  • 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ả

device-2016-10-23-111900.png

Source code tham khảo

https://github.com/daolq3012/OpenCVTest.git