[OpenCV] Cài Đặt OpenCV Dễ Dàng Trên Ubuntu

OpenCV (Open Source Computer Vision Library) là một thư viện mã nguồn mở dựa trên ngôn ngữ C++, Python và có thể bao gồm cả Java, Mathlab,... Thư viện này được sử dụng trong rất nhiều lĩnh vực với độ phổ biến và khả năng ứng dụng của chúng như: phân tích hình ảnh y tế, phân tích video, nhận biết đối tượng, ứng dụng máy học Machine Learning,...và rất nhiều ứng dụng khác nữa. OpenCV cũng có thể tận dụng sức mạnh đa lõi của bộ xử lí đồ hoạ GPU cho các ứng dụng vận hành real-time (thời gian thực).

Trang chủ cộng đồng OpenCV: https://opencv.org, bạn có thể tìm thấy tất cả phiên bản cập nhật của mã nguồn này tại đây cũng như các hướng dẫn về cách sử dụng mã nguồn.

Bài viết này hướng dẫn các bạn cài đặt OpenCV, build môi trường trên Ubuntu 16 trở lên.

Bài viết có sử dụng tư liệu tham khảo trên trang: https://linuxize.com/

1. Cài đặt môi trường và các gói cài cần thiết.

Mở terminal, tiến hành cài các gói cài sau:

$ sudo apt install build-essential cmake git pkg-config libgtk-3-dev \ libavcodec-dev libavformat-dev libswscale-dev libv4l-dev \ libxvidcore-dev libx264-dev libjpeg-dev libpng-dev libtiff-dev \ gfortran openexr libatlas-base-dev python3-dev python3-numpy \ libtbb2 libtbb-dev libdc1394-22-dev

2. Clone OpenCV và kho đóng góp OpenCV 

- Tạo ra folder opencv_build và đến đường dẫn đó.

$ mkdir opecv_build && cd ~/opencv_build

Đối với mình khi làm mình sẽ tạo ra đường dẫn như sau: /home/covv/workspace/src/opencv_build

- Có hai cách lấy gói cài về máy tính: Clone trực tiếp từ github hoặc tải trực tiếp từ trang chủ OpenCV.

+ Clone trực tiếp: 

$ git clone https://github.com/opencv/opencv.git

$ git clone https://github.com/opencv/opencv_contrib.git

nếu bạn muốn cài các phiên bản cũ hơn của opencv và opencv_contrib, bạn có thể dùng lệnh:

$ git checkout <opencv-version>

+ Tải trực tiếp từ trang chủ:

Truy cập https://opencv.org/releases và tải về các gói cài opencv.

Truy cập https://github.com/opencv/opencv_contrib để tải về gói cài opencv_contrib.

Mình hay dùng bản opencv 3.2 và opencv_contrib 3.2, tuy hơi cũ nhưng bù lại vì độ ổn định và do quen thuộc với các chương trình của mình ^.^

3. Sau khi tải về, tạo ra một folder build tạm và chuyển đến folder đó.

- Copy hoặc di chuyển 2 gói cài opencv và opencv_contrib vừa tải về vào thư mục opencv_build vừa tạo ở bước 2.

- Thực hiện dòng lệnh:

$ cd ~/opencv_build/opencv

$ mkdir build && cd build

- Setup môi trường build OpenCV với CMake:

$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_build/opencv_contrib/modules \
-D BUILD_EXAMPLES=ON ..

Các bạn chú ý đến OPENCV_EXTRA_MODULES_PATH phải là đường dẫn chính xác module của bạn.

Đối với máy tính của mình thì đường dẫn là: /workspace/src/opencv_build/opencv_contrib/modules \

Sau khi setup môi trường thành công, màn hình terminal thông thường sẽ hiển thị như sau:

4. Tiến hành biên dịch

Gõ dòng lệnh:

$ make -j4 (có thể là make -j8, -j16,..) tùy thuộc vào số thread CPU máy tính của bạn, số thread càng cao thì biên dịch càng nhanh.

Gõ: $ sudo nproc để biết được số thread.

Đoạn này các bạn có thể chuyển máy làm việc khác hoặc uống một tách cà phê vì sẽ mất thời gian đấy.

5. Tải xuống OpenCV

$ sudo make install

6. Kiểm tra version đã được cài thành công trên máy tính.

$ pkg-config --modversion opencv

3.2.0 --> Đây là bản mình cài cho máy tính của mình

$ python3 -c "import cv2; print(cv2.__version__)"

3.2.0 --> Đây là bản mình cài cho máy tính của mình

Như vậy là các bạn đã hoàn tất quá trình cài OpenCV trên máy tính Ubuntu của mình. Từ đây, các bạn có thể lập trình các chương trình ứng dụng thư viện OpenCV với các ngôn ngữ C/C++, Python một cách dễ dàng.

Ở phần sau của chuỗi bài viết OpenCV, mình sẽ giới thiệu một vài sample code ứng dụng OpenCV, viết trên trình edit Qt Creator.

Hy vọng bài viết này sẽ giúp ích cho các bạn. Nếu các bạn có những thắc mắc cần giải đáp, hãy nhắn tin cho mình qua Fanpage: EPCB hoặc qua Email: epcbtech@gmail.com. Cảm ơn các bạn đã theo dõi!

Chúc các bạn thành công!