Thursday, May 26, 2016

Hướng dẫn cài đặt OpenCV trên MacOS và chạy ví dụ mẫu bằng terminal và XCode

OpenCV (Open Source Computer Vision) là thư viện mã nguồn mở chuyên xử lý, phân tích những hình ảnh từ photo và camera như nhận diện khuôn mặt, chữ số, hình học... OpenCV được phát hành dưới mã nguồn BSD license, do đó được sử dụng miễn phí trong việc nghiên cứu cũng như thương mại. Nó có những interface cho ngôn ngữ C++, C, Python và Java, do đó nó có thể chạy trên đa nền tảng như Windows, Linux, Mac OS, iOS và Android. Chi tiết các bạn có thể xem thêm trên trang của OpenCV.

Tài liệu hướng dẫn chi tiết những chức năng trong OpenCV các bạn có thể xem qua tại đây. Khi xem những hướng dẫn này các bạn cần phải chạy những đoạn code ví dụ mẫu của người ta viết để có thể hiểu rõ cách người ta thực thi công thức toán học đó thông qua code như thế nào và kết quả khi chạy ra sao thì các bạn phải build và run chương trình.

Bài này mình hướng dẫn các bạn cài thư viện OpenCV 3.1.0, build và chạy thử code ví dụ mẫu C++ từ Github OpenCV bằng terminal và XCode. Vì mình thấy trên mạng có hướng dẫn cài bản 3.0.0, nhưng mình cài thử máy tính cá nhân của mình thì gặp sự cố với ffmpeg, nếu các bạn cài bản này, nếu gặp lỗi như vậy có thể đọc tài liệu này để fix problem khi cài đặt OpenCV 3.0.0.


Hướng dẫn cài đặt OpenCV 3 trên Mac OS 10.11:

Các bạn có thể clone source code từ git hoặc có thể tải source code của OpenCV 3.1.0 về máy trước khi build và install chúng vào máy tính thông qua lệnh CMake. Các bạn có thể dùng brew cũng được nhưng phải thiết lập khác chút xíu.

Nếu các bạn clone bằng terminal xong thì nên di chuyển đến thư mục chứa git opencv, dùng lệnh checkout phiên bản release version 3.1.0 như sau:
git checkout tags/3.1.0

Theo mình thấy các bạn nên cài OpenCV bằng CMake thông qua MacPort. Nếu các bạn chưa cài MacPort thì có thể tải tại đây. Sau khi cài xong bạn mở terminal và nhập đoạn lệnh sau để cài CMake:
sudo port install cmake

Hướng dẫn build bằng CMake:

- Bạn dùng terminal cd đến thư mục opencv, và đánh những lệnh như sau:
# Tạo thư mục riêng để build opencv
mkdir build
cd build
cmake -G "Unix Makefiles" ..
- Bây giờ chúng ta bắt đầu build OpenCV bằng những lệnh:
make -j8
sudo make install

Khi cài đặt xong bạn sẽ thấy thư mục opencv trong đường dẫn usr/local/include.
hoặc dùng terminal:

Các bạn vào đường dẫn này và tải file cpp và 2 hình bên trong đó bỏ cùng 1 thư mục.

Hướng dẫn build và chạy code ví dụ viết bằng C++ dùng thư viện OpenCV bằng Terminal:

Để build bằng terminal thì bạn cần dùng pkg-config để build. Đầu tiên bạn phải chạy lệnh sau:
pkg-config --cflags --libs opencv

Bạn cd đến thư mục chứa những file đó và chạy đoạn lệnh sau:
g++ -ggdb `pkg-config --cflags --libs opencv` AddingImagesTrackbar.cpp -o AddingImagesTrackbar
./AddingImagesTrackbar
Sau khi chạy sẽ xuất hiện màn hình như sau:

Lưu ý: Nếu bạn gặp error khi build như sau:
"/usr/bin/ld: cannot find -lippicv

collect2: error: ld returned 1 exit status"
Bạn nên vào link này tải lippicv về. Sau khi tải xong giải nén và copy file .a vào thư mục "/usr/local/lib".

Hướng dẫn thiết lập XCode để viết code C++ với OpenCV:

- Bước 1: Bạn mở XCode và chọn trên thanh toolbar như: File > New > Project > OS X (Application) > Command Line Tool:

Bạn đặt tên Project và chọn ngôn ngữ là C++:

- Bước 2: Bạn copy code ví dụ vào file main.cpp thì sẽ xuất hiện error như sau:

Hiện tại bạn có thể viết code C++ trên XCode nhưng chỉ dùng thư viện mặc định. Nếu bạn muốn XCode nhận thư viện OpenCV thì phải config như sau:

- Bước 3: Bạn vào "Build Setting". Nhập "/usr/local/include" vào phần "Header Search Paths":

Nhập "/usr/local/lib" vào phần "Library Search Paths":

Copy đoạn code sau vào phần "Other Linker Flag"
-lopencv_calib3d -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videoio -lopencv_videostab

Sau đó bạn chạy build bằng XCode hoặc Command+B:

Bạn build thành công bạn muốn tìm đến thư mục build thì bạn chọn Project và trỏ đến thư mục Debug.

Nếu bạn muốn XCode tạo file build ngay tại thư mục chứa file project thì chọn XCode > Preference > Location:

Nhấn vào Advanced và chọn Legacy:

Sau đó bạn build lại project và sẽ thấy thư mục build ngay tại thư mục project, copy 2 tấm hình vào thư mục Debug và chạy file bằng lệnh "./OpenCVCpp" sẽ xuất hiện màn hình như hình sau:

Theo mình thì các bạn build những code sample của OpenCV thì dùng terminal, còn khi nào muốn viết code thì nên dùng tool XCode để viết và build và run cho thật nhanh ^^.

Chúc các bạn thành công và học OpenCV thật tốt nha.

Tài liệu OpenCV.

Tài liệu tham khảo:

- OpenCV on MacOSX.
- Compile OpenCV sample code.
Setup XCode 6.1 to work with OpenCV3 libraries
- OpenCV installation.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.