Tin tổng hợp

OPENCV – BÀI 8: Cài đặt OPENCV cho Raspberry Pi

  • 23/12/2021
  • Để các ứng dụng vision nhỏ triển khai với giá thành rẻ nhất chúng ta sử máy tính nhúng Raspberry để triển khai dự án. Nhược điểm cấu hình yếu, tốc độ xử lý chậm nhưng vẫn đáp ứng các yêu cầu xử lý ảnh tối thiểu. Chúng ta sẽ tìm hiểu cách cái môi trường thư viện xử lý ảnh thông dụng OpenCV. Chúng ta sẽ cài OpenCV 4 cho Raspberry Pi 4.

    Bước 1 : Mở rộng file hệ thống và dung lượng lưu trữ

    gõ lệnh :

    $ sudo raspi-config

    chọn 6. Advanced options

    Chọn A1 Expand Filesystem

     

    Tiến hành reboot:

    $ sudo reboot

    sau đó kiểm tra bằng lệnh:

    $ dh -f

    Bước 2: Cài các thư viện liên quan

    update các gói cài đặt sẵn:

    $ sudo apt-get update && sudo apt-get upgrade

    cài đặt tool CMake

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

    Tiếp theo, chúng ta cần cài đặt một số gói thư viện 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ừ ổ cứng. Ví dụ về các định dạng tệp JPEG, PNG, TIFF, v.v

    $ sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng-dev

    Tiếp theo các thư viện hỗ trợ đọc ghi video :

    $ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
    $ sudo apt-get install libxvidcore-dev libx264-dev

    cài thư viên GTK và thư viện hỗ trợ đi kèm:

    $ sudo apt-get install libfontconfig1-dev libcairo2-dev
    $ sudo apt-get install libgdk-pixbuf2.0-dev libpango1.0-dev
    $ sudo apt-get install libgtk2.0-dev libgtk-3-dev

    cài thư viện tối ưu ma trận ảnh:

    $ sudo apt-get install libatlas-base-dev gfortran

    Tiếp theo cài thư viện hỗ trợ HDF5 và GUI QT:

    $ sudo apt-get install libhdf5-dev libhdf5-serial-dev libhdf5-103
    $ sudo apt-get install libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5

    Tiếp theo cài hỗ trợ liên kết header file giữa OpenCV và Python 3

    $ sudo apt-get install python3-dev

    Bước 3: Tạo môi trường ảo Python và cài Numpy

    cài theo các lệnh sau:

    $ wget https://bootstrap.pypa.io/get-pip.py
    $ sudo python3 get-pip.py
    $ sudo rm -rf ~/.cache/pip

    cài đặt môi trường ảo:

    $ sudo pip install virtualenv virtualenvwrapper

    mở file .bashrc

    $ nano ~/.bashrc

    và thêm các dòng sau vào cuối dòng:

    # virtualenv and virtualenvwrapper
    export WORKON_HOME=$HOME/.virtualenvs
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    source /usr/local/bin/virtualenvwrapper.sh

    bấm ctrl + x, y, enter để lưu và đóng file.

    tiến hành reload lại file:

    $ source ~/.bashrc

    Tiếp theo tạo môi trường aỏ Python3

    $ mkvirtualenv cv -p python3

    ở đây bạn có 1 môi trường ảo có tên là “cv”

     nếu bạn có Pi Camera

    ,cài đặt  API PiCamera:

    $ pip install “picamera[array]”

    Bước 4: Sử dụng PIP cài đặt OpenCV

    $ pip install opencv-contrib-python==4.1.0.25

    Bước 5: Kiểm tra cài đặt OpenCV4 trên Raspberry 4.

    mở terminal mới gõ các lệnh sau:

    $ cd ~
    $ workon cv
    $ python
    >>> import cv2
    >>> cv2.__version__
    ‘4.1.1
    >>>

    Bước 6: Viết chương trình chụp ảnh đơn giản

    Viết đoạn chương trình chụp ảnh bằng ấn phím space,lưu tên ảnh theo thời gian chụp và thoát chương trình bằng phím ESC.

    import cv2

    import time

    cam = cv2.VideoCapture(0)

    cv2.namedWindow(“Camera”)

    img_counter = 0

    while True:

        ret, frame = cam.read()

        if not ret:

            print(“failed to grab frame”)

            break

        cv2.imshow(“camera”, frame)

        k = cv2.waitKey(1)

        if k%256 == 27:

            # ESC pressed

            print(“Escape hit, closing…”)

            break

        elif k%256 == 32:

            # SPACE pressed

            timestr = time.strftime(“%Y%m%d-%H%M%S”)

            img_name = “img_{}.JPEG”.format(timestr)

            cv2.imwrite(img_name, frame)

            print(“{} written!”.format(img_name))

            img_counter += 1

    cam.release()

    cv2.destroyAllWindows()

    bạn dùng IDE Thonny có sẵn trong Raspberry để chạy chương trình:

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