OpenCV

Setup thư viện OpenCV trong Xcode

Giới thiệu

Ở bài trước mình đã hướng dẫn tổng quan về thư viện xử lý hình ảnh mã nguồn mở OpenCV (Open Source Computer Vision). Trong bài viết này mình sẽ hướng dẫn các bạn setup thư viện OpenCV vào project C++ trong Xcode trên hệ điều hành macOS.

Mặc định trong bài viết này là các bạn đã cài đặt thành công thư viện OpenCV và đã cài đặt IDE Xcode.

Sau khi cài đặt thành công thư viện OpenCV chúng ta sẽ có hai thư mục.

  • Thư mục chứa các file định nghĩa header .h và .hpp định nghĩa prototype của thư viện OpenCV.
  • Thư mục chứa library của thư viện OpenCV bao gồm các thư viện liên kết động (Dynamic Library hay Shared Library) và thư viện liên kết tỉnh (Static Library).

Nguyên tắc sử dụng các thư viện trong hầu hết các thư viện viết bằng C/C++

Mình đã sử dụng một số thư viện viết bằng C++ (OpenCV, Ffmpeg, ImageMagick, LibSVM, FreeType)và nhận ra một số nguyên tắc sau:

+ Sau khi build các thư viện này đều phát sinh ra hai thư mục chứa header và lib.

+ Chương trình của chúng ta muốn sử dụng lib này phải khi báo đường dẫn tới hai thư mục này và phải link các thư viện liên kết.

Dưới đây là hai thư mục chứa lib OpenCV sau khi cài đặt trên máy của mình.

Thư mục chứa các header /usr/local/lib

incude_header_opencv_eitguide

Các bạn để ý thấy thư mục opencvopencv2

Thư mục chứa lib của thư viện OpenCV /usr/local/lib

lib_opencv_eitguide

Các bạn thấy các thư viện openCV bắt đầu với tiền tố libopencv

Khởi tạo Project OpenCV trong Xcode

Trước tiên chúng ta sẽ mở chương trình Xcode lên và tạo một project C++

opencv_xcode_intro_eitguide

Chọn Create a new Xcode Project

xcode_opencv_template_eitguide

Chúng ta chọn Tab masOS và chọn Project kiểu Command Line

 

xcode_opencv_newproject_eitguide

Ở đây chúng ta điền tiền của Project và chọn languge là C++ và nhấn next để Xcode tạo new project cho chúng ta

Giao diện Xcode sau khi tạo xong project

xcode_opencv_project_overview_eitguide

Thêm đường dẫn tới Header Folder OpenCV

Sau khi tạo xong Project OpenCV với Xcode chúng ta sẽ vào phần setting của project để setup thư viện OpenCV vào Xcode. Chúng ta làm như hình, chọ Tab Build Setting và gõ vào search vào ô tìm kiếm để tìm kiếm hai mục là Header Search Paths và Library Search Path

xcode_opencv_setting_eitguide

Header Library Paths chúng ta sẽ điền vào đường dẫn chứa file header của thư viện OpenCV. Đường dẫn của mình là /usr/local/include.

Thêm đường dẫn tới Library Folder OpenCV

Tiếp theo chúng ta sẽ thêm đường dẫn tới thư mục chứa các thư viện liên kết của thư viện OpenCV. Và điền vào mục Library Search Paths. Đường dẫn của mình là /usr/local/lib

Hình ảnh sau khi đã chỉ định hai đường dẫn của thư viện OpenCV

xcode_opencv_header_library_eitguide

Link các thư viện trong OpenCV

Sau khi chỉ định hai đường dẫn hai thư mục của thư viện OpenCV, tiếp theo chúng ta tiến hành link các thư viện liên kết vào chương trình như sau.

Ở mục tìm kiếm chúng ta gõ vào “flags” để tìm kiếm mục Other Link Flags

xcode_opencv_flags_eitguide

Chúng ta điền vào chuổi sau và mục Other Link Flags

Vậy là chúng ta đã hoàn thành việc settup thư viện OpenCV vào Xcode trên hệ điều hành macOS. Tiếp theo chúng ta sẽ viết thử một chương trình để kiểm tra chúng ta settup thư viện thành công hay không.

Viết chương trình sử dụng OpenCV

Include một số module của thư viện OpenCV

Và đây là in ra version hiện tại của OpenCV mà chúng ta đang sử dụng.

Kết quả sau khi chạy chương trình trên

Chương trình chạy thành công và in ra version OpenCV đang sử dụng là 3.1.0

Settup thư viện OpenCV trên các hệ điều hành khác

Về nguyên tắc sử dụng thư viện chúng ta chỉ cần chỉ định hai đường dẫn tới thư mục chứa header và library của thư viện và link các thư viện vào chương trình của chúng ta.

Trên Linux:

Với Linux chúng ta có thể các IDE như Code Block để viết chương trình OpenCV. Và việc setting trong CodeBlock củng hoàn toàn tương tự trên Xcode.

Hoặc có thể sử dụng CMakeFiles để sinh ra makefile nếu build source bằng Termial. (Clion sử dụng CMakeFiles cho quá trình build mã nguồn C/C++).

Trên Windows

Các settup thư viện trên hệ điều hành Windows sử dụng Android Studio mình sẽ giới thiệu trong những bài viết sau.

Kết luận

Qua bài viết này mình đã hướng dẫn cho các bạn cài đặt thư viện OpenCV vào project C++ trong Xcode. Ở các bài viết tiếp theo chúng ta sẽ bắt đầu vào sử dụng OpenCV trong việc xử lý hình ảnh, nhận dạng.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.