Hướng dẫn cài OpenCV 3 trên Raspberry Pi 3 chạy Raspbian Stretch

Hướng dẫn cài OpenCV 3 trên Raspberry Pi 3 chạy Raspbian Stretch

17:34 - 06/03/2019

Hướng dẫn cài OpenCV 3 trên Raspberry Pi 3 chạy Raspbian Stretch

NVIDIA Jetson AGX Orin hiệu suất AI mạnh nhất của NVIDIA Jetson Family với 275 TOPS, 2048 NVIDIA® CUDA® cores, 64 Tensor Cores
NVIDIA Jetson AGX Orin Hardware Layout and GPIO Expansion Header Pinout
NVIDIA Jetson là nền tảng hàng đầu thế giới dành cho Trí tuệ nhân tạo (AI) và Deep Learning
Cách sử dụng Camera CSI với hệ điều hành Raspberry Pi Bulleyes mới nhất
Jetson Stats dùng cho Giám sát và Điều khiển trên NVIDIA Jetson Ecosystem [Xavier NX, Nano, AGX Xavier, TX1, TX2]

Hướng dẫn cài OpenCV 3 trên Raspberry Pi 3 chạy Raspbian Stretch

Xin chào các bạn !!! 

Hôm nay chúng ta cùng cài đặt OpenCV một thư viện mã nguồn mở hàng đầu cho thị giác máy tính (computer vision), xử lý ảnh, học máy và các tính năng tăng tốc GPU trong hoạt động thời gian thực.

Ở đây chúng ta sẽ dùng thư viện này ứng dụng vào việc xử lý ảnh và nhận dạng các đối tượng (Người, vật thể ...) với Raspberry Pi và Camera CSI cho Raspberry Pi.

Nào chúng ta cùng thực hiện việc cài đặt nhé !!!

Bước 1 : Mở rộng tệp tin hệ thống

Bạn có đang sử dụng bản cài đặt hoàn toàn mới của Raspbian Stretch không?

+ Nếu vậy, điều đầu tiên bạn nên làm là mở rộng hệ thống tệp của mình để bao gồm tất cả không gian có sẵn trên thẻ micro-SD của bạn:

sudo raspi-config

+ Và sau đó các bạn chọn mục “Advanced Options”

+ Tiếp sau đó các bạn chọn mục “Expand filesystem”

 

+ Sau khi chọn “Expand filesystem” một hộp thoại nhắc bạn là “Hệ thống tập tin sẽ được mở rộng sau khi khởi động lại “, bạn chọn Ok.

+ Tiếp theo bằng cách di chuyển con trỏ chuột bạn chọn “Finish”.

+ Sau đó sẽ có một hộp thoại hỏi bạn có muốn khởi động lại không. Nếu có bạn chọn “Yes”“No” nếu bạn không muốn khởi động lại ngay.

+ Bạn có thể khởi động lại bằng lệnh :

sudo reboot

+ Sau khi khởi động lại hệ thống tập tin của bạn đã được mở rộng bao gồm tất cả không gian có sãn trên thẻ micro-SD của bạn. Bạn có thể kiểm tra đĩa đã được mở rộng bằng cách thực hiện lệnh :

df -h

+ Kết quả như hình:

Như các bạn có thể thấy, hệ thống tập tin Raspbian của mình đã được mở rộng bao gồm tất cả 16GB của thẻ micro-SD.

Bước 2 : Cài đặt các gói phụ thuộc

+ Đầu tiên cần phải cập nhật, nâng cấp các gói hiện có bằng lệnh :

sudo apt-get update

sudo apt-get upgrade

+ Khởi động lại Raspberry Pi sau khi cập nhật phần mềm:

Sudo reboot

+ Tiếp theo là cài đặt công cụ phát triển:

sudo apt-get install build-essential cmake pkg-config

+ Chúng ta cần cài đặt một số gói I / O hình ảnh cho phép chúng ta tải các định dạng tệp hình ảnh khác nhau từ đĩa. Ví dụ về các định dạng tệp như vậy bao gồm JPEG, PNG, TIFF…

sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev

+ Tiếp theo chúng ta cần cài đặt gói video I/O cho phép chúng ta tải các định dạng tệp video khác nhau cũng như làm việc với các luồng video:

sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev

sudo apt-get install libxvidcore-dev libx264-dev

+ Tiếp theo đó chúng ta cũng cần cài đặt thư viện phát triển GTK (công cụ tạo giao diện đồ họa) để chúng ta có thể biên soạn modun phụ của OpenCV, cho phép chúng ta hiển thị hình ảnh trên màn hình và xây dựng các giao diện GUI đơn giản:

sudo apt-get install libgtk2.0-dev libgtk-3-dev

+ Cài đặt các gói tối ưu hóa (cải thiện các phép toán ma trận cho OpenCV)

sudo apt-get install libatlas-base-dev gfortran 

Bước 3: Cài đặt Python 3, setuptools, dev và Numpy

+ Cài đặt Python3 và numpy

sudo apt-get install python3 python3-setuptools python3-dev -y

wget https://bootstrap.pypa.io/get-pip.py

sudo python3 get-pip.py

sudo pip3 install numpy

Bước 4 : Tải xuống OpenCV 3.4 và opencv_contrib

+ Tải xuống OpenCV 3.4

cd ~

wget -O opencv.zip https://github.com/opencv/opencv/archive/3.4.0.zip

unzip opencv.zip

+ Để cài đặt đầy đủ OpenCV 3(bao gồm các tính năng như SIFT (nhận dạng điểm đặc trưng) và SURF (nhận dạng đối tượng)) vì vậy chúng ta cũng cần phải lấy kho lưu trữ opencv_contrib.

wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/3.4.0.zip

unzip opencv_contrib.zip

Lưu ý: Đảm bảo phiên bản opencv và opencv_contrib của bạn giống nhau (trong trường hợp này là 3.4.0 ). Nếu số phiên bản không khớp nhau, thì có khả năng bạn sẽ gặp phải lỗi compile-time hoặc runtime errors.

Bước 5: Biên dịch và cài đặt OpenCV 3.4.0 cho Python 3

cd opencv-3.4.0

mkdir build

cd build

cmake -D CMAKE_BUILD_TYPE=RELEASE \

    -D CMAKE_INSTALL_PREFIX=/usr/local \

    -D BUILD_opencv_java=OFF \

    -D BUILD_opencv_python2=OFF \

    -D BUILD_opencv_python3=ON \

    -D PYTHON_DEFAULT_EXECUTABLE=$(which python3) \

    -D INSTALL_C_EXAMPLES=OFF \

    -D INSTALL_PYTHON_EXAMPLES=ON \

    -D BUILD_EXAMPLES=ON\

    -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.0/modules \

    -D WITH_CUDA=OFF \

    -D BUILD_TESTS=OFF \

    -D BUILD_PERF_TESTS= OFF  ..

Bước 6: Biên dịch OpenCV

Trước khi bạn bắt đầu quá trình biên dịch, bạn nên tăng kích thước swap space của mình. Điều này cho phép OpenCV biên dịch với tất cả bốn lõi của Raspberry PI mà không bị treo biên dịch do vấn đề bộ nhớ.

Các bạn thực hiện như sau :

Các bạn mở Terminal lên và thực hiện lệnh : 

sudo nano /etc/dphys-swapfile

Các bạn thực hiện tăng kích thước swap space của mình bằng việc sửa đổi từ CONF_SWAPSIZE  = 100 thành CONF_SWAPSIZE = 1024

Khi hoàn thành các bạn sử dụng tổ hợp phím để thoát Ctrl + X, chọn YEnter để lưu file.

Để kích hoạt swap space mới, hãy khởi động lại swap service:

sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start
 
Giờ chúng ta có thể biên dịch chương trình một cách bình thường.

make -j4

-j4 là viết tắt của số lõi để sử dụng khi biên soạn OpenCV. Vì chúng ta đang sử dụng Raspberry Pi 3, chúng ta sẽ tận dụng tất cả bốn lõi của bộ vi xử lý để thu thập nhanh hơn.

Bước 7: Cài đặt OpenCV vào hệ thống

Giả sử OpenCV biên soạn không bị lỗi và cài đặt nó vào hệ thống bằng lệnh:

sudo make install

sudo ldconfig

Bước 8: Kiểm tra cài đặt OpenCV 3.4.0

OpenCV 3.4 đã được cài đặt thành công trên Raspberry Pi 3 như hình :

 

Đừng quên đổi lại kích thước swap size như ban đầu các bạn nhé !

        sudo nano /etc/dphys-swapfile

CONF_SWAPSIZE  = 100

Khi hoàn thành các bạn sử dụng tổ hợp phím để thoát Ctrl + X, chọn YEnter để lưu file.

Giờ thì kích hoạt swap space mới nào :

sudo /etc/init.d/dphys-swapfile stop
sudo /etc/init.d/dphys-swapfile start
 
Như vậy là chúng ta đã hoàn tất việc cài đặt OpenCV các bạn nhé !

Nếu các bạn có bất kỳ ý tưởng mới nào đừng ngần ngại mà hãy inbox trực tiếp cho fanpage . Xin chào và hẹn gặp lại các bạn trong các bài viết tiếp theo !!!

PIVIETNAM.COM.VN CHÚC CÁC BẠN THÀNH CÔNG !!!

Thực hiện bài viết : Đào Văn Hậu


Để cập nhật các tin tức công nghệ mới các bạn làm theo hướng dẫn sau đây :

Các bạn vào Trang chủ >> Tin tức. ở mục này có các bài viết kỹ thuật thuộc các lĩnh vực khác nhau các bạn có thể lựa chọn lĩnh vực mà mình quan tâm để đọc nhé !!!

Các bạn cũng có thế kéo xuống cuối trang để xem những tin tức công nghệ mới nhất.