Tải về Wireless Network Watcher để tìm IP của Pi (cũng có thể dùng để xem IP các thiết bị khác đang kết nối wifi của bạn).
Giao diện chương trình như ở hình dưới, bạn kiếm tên thiết bị Pi ở mục Device Name, nhìn tương ứng qua có địa chỉ IP của nó hiện là 192.168.100.9
Tải Putty (SSH – telnet client) bản mới nhất về
Mở Putty và nhập vào như sau
- Hostname: nhập vào địa chỉ IP của Pi, ở bước trên đã tìm được là 192.168.100.9
Bấm Open.
Màn hình terminal đến Pi sẽ hiện lên như sau nếu không có lỗi
Nhập vào thông tin đăng nhập như sau:
- User: pi (nếu nhập sai tên đăng nhập, tắt putty và mở lại)
- Password : raspberry
Sau khi đăng nhập thành công màn hình sẽ hiện lên như thế này
Nhập lệnh sau vào terminal:
$ sudo raspi-config
Sau đó, chọn mục Advanced Options
Tiếp theo, chọn mục Expand Filesystem
Bấm OK
Bấm Finish
Bấm Yes
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ẻ MicroSD của bạn. Bạn có thể kiểm tra bằng cách nhập lệnh
$ df -h
Gỡ bỏ Wolfram Engine and LibreOffice để làm trống ~1GB bộ nhớ Raspberry Pi
$ sudo apt-get purge wolfram-engine
$ sudo apt-get purge libreoffice*
$ sudo apt-get clean
$ sudo apt-get autoremove
Cập nhật các gói hiện có bằng cách nhập lần lượt 2 lệnh sau
$ sudo apt-get update && sudo apt-get upgrade
Cài đặt công cụ phát triển
$ sudo apt-get install build-essential cmake pkg-config
Cài đặt một số gói I/O hình ảnh cho phép tải các định dạng hình ảnh khác nhau như JPEG, PNG, TIFF…
$ sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng-dev
Cài đặt gói video I/O cho phép tải các định dạng video khác nhau
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
$ sudo apt-get install libxvidcore-dev libx264-dev
Cài đặt thư viện phát triển GTK (công cụ tạo giao diện đồ họa) để biên soạn module phụ của OpenCV, cho phép 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 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 đặ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
Cài đặt thư viện HDF5 datasets và Qt GUIs
$ sudo apt-get install libhdf5-dev libhdf5-serial-dev libhdf5-103
$ sudo apt-get install libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5
Cài đặt python 3 và pip
$ sudo apt-get install python3-dev
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py
$ sudo python3 get-pip.py
$ sudo rm -rf ~/.cache/pip
Cài đặt virtualenv và virtualenvwrapper
$ sudo pip install virtualenv virtualenvwrapper
$ nano ~/.bashrc
Di chuyển con trỏ đến cuối cùng của file
Thêm vào những dòng sau
# virtualenv and virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh
Khi hoàn thành các bạn sử dụng tổ hợp phím để thoát Ctrl + X, sau đó nhấn chọn Y và Enter để lưu file
Reload lại
$ source ~/.bashrc
Tạo Python 3 virtual environment
$ mkvirtualenv cv -p python3
Tùy theo phiên bản mà một số bạn có thể mắc lỗi environment ‘/home/pi/.virtualenvs/cv’ does not contain an activate script
Để fix lỗi này cần edit lại file virtualenvwrapper.sh
$ sudo nano +85 /usr/local/bin/virtualenvwrapper.sh
Tìm dòng VIRTUALENVWRAPPER_ENV_BIN_DIR="usr/lib/bin" và đổi thành VIRTUALENVWRAPPER_ENV_BIN_DIR="bin"
Sau đó, tạo lại Python 3 virtual environment
$ mkvirtualenv cv -p python3
Cài PiCamera API để dùng Module Raspberry Pi Camera
$ pip install "picamera[array]"
Tải xuống OpenCV 4.x.x (phiên bản bao nhiêu tùy bạn lựa chọn). Để biết thêm về các phiên bản OpenCV hiện có, bạn truy cập vào đây
Tính đến thời điểm này thì OpenCV 4.3.0 đang là bản mới nhất nên chúng ta sẽ tải nó về.
$ cd ~
$ wget -O opencv.zip https://github.com/opencv/opencv/archive/4.3.0.zip
$ unzip opencv.zip
$ mv opencv-4.3.0 opencv
Nếu muốn tải phiên bản OpenCV khác thì thay vào phần tô đỏ 4.3.0
Ví dụ, muốn tải phiên bản OpenCV 4.1.1 thì thay thành dòng lệnh
$ wget -O opencv.zip https://github.com/opencv/opencv/archive/4.1.1.zip
Cài kho lưu trữ opencv_contrib. 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à 4.3.0). Nếu số phiên bản không khớp nhau, có khả năng bạn sẽ gặp phải lỗi compile-time hoặc runtime errors.
$ wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.3.0.zip
$ unzip opencv_contrib.zip
$ mv opencv_contrib-4.3.0 opencv_contrib
Tăng kích thước swap space để 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ớ
$ 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 = 2048
Khi hoàn thành các bạn sử dụng tổ hợp phím để thoát Ctrl + X, chọn Y và Enter để 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
Vào virtual environment cv
$ workon cv
Cài đặt numpy
$ pip install numpy
Biên dịch và cài đặt OpenCV 4.x.x cho Python 3
$ cd opencv
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \
-D ENABLE_NEON=ON \
-D ENABLE_VFPV3=ON \
-D BUILD_TESTS=OFF \
-D INSTALL_PYTHON_EXAMPLES=OFF \
-D OPENCV_ENABLE_NONFREE=ON \
-D CMAKE_SHARED_LINKER_FLAGS=-latomic \
-D BUILD_EXAMPLES=OFF ..
Giờ chúng ta có thể biên dịch chương trình một cách bình thường.
-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 nên sẽ tận dụng tất cả bốn lõi của bộ vi xử lý để xử lý nhanh hơn.
Cài đặt OpenCV vào hệ thống bằng lệnh
$ sudo make install
$ sudo ldconfig
Đổi kích thước swap space về ban đầu
$ 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 Y và Enter để lưu file. Kích hoạt lại swap space
$ sudo /etc/init.d/dphys-swapfile stop
$ sudo /etc/init.d/dphys-swapfile start
Tạo sym-link
$ cd /usr/local/lib/python3.7/site-packages/cv2/python-3.7
$ sudo mv cv2.cpython-37m-arm-linux-gnueabihf.so cv2.so
$ cd ~/.virtualenvs/cv/lib/python3.7/site-packages/
$ ln -s /usr/local/lib/python3.7/site-packages/cv2/python-3.7/cv2.so cv2.so
Kiểm tra python, virtual environment và OpenCV sau khi cài đặt
$ cd ~
$ workon cv
$ python
>>> import cv2
>>> cv2.__version__