Cài đặt OPENCV

Sử dụng Raspberry pi 3 B và OpenCV3. Khởi động Raspberry, vào Menu > Preferences > Raspberry Pi Configuration > Interfaces.  Chúng ta sẽ thấy VNC. Đặt nó sang chế độ Enabled.  Một khi VNC đuợc bật, khi khơi động lần sau nó sẽ tự động chạy.  

Trước khi chúng ta có thể gán IP cho Raspberry Pi, phải đảm bảo rằng DHCPCD đã được kích hoạt:

sudo service dhcpcd status

Nếu chưa, kích hoạt DHCPCD như sau:

sudo service dhcpcd start
sudo systemctl enable dhcpcd

Tiếp tục chỉnh sửa phần DHCPCDs, mở configuration file /etc/dhcpcd.conf và chạy lệnh sau:

sudo nano /etc/dhcpcd.conf

Để gán IP cho Raspberry Pi, sử dụng lệnh ‘static ip_address=’ theo sau là địa chỉ IPv4 và hậu tố ‘/24’ (viết tắt của subnet mak 255.255.255.0). Ví dụ, nếu ta cần IPv4 192.168.0.4, thì ta cần sử dụng ‘static ip_address=192.168.0.4/24’.

interface eth0
static ip_address=192.168.0.4/24
static routers=192.168.0.1
static domain_name_servers=192.168.0.1

Cài đặt sử dụng toàn bộ thẻ nhớ dung lượng lớn.

$ sudo raspi-config
$ sudo reboot

Kiểm tra lại:

$ df -h

Nếu thẻ 8GB thì chúng ta có thể sử dụng hết 50% nên có thể loại bỏ LibreOffice và Wolfram:

$ sudo apt-get purge wolfram-engine
$ sudo apt-get purge libreoffice*
$ sudo apt-get clean
$ sudo apt-get autoremove

Bước đầu tiên là cập nhật phần mềm:

$ sudo apt-get update && sudo apt-get upgrade
$ sudo apt-get install build-essential cmake pkg-config
$ sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
$ sudo apt-get install libxvidcore-dev libx264-dev
$ sudo apt-get install libgtk2.0-dev libgtk-3-dev
$ sudo apt-get install libatlas-base-dev gfortran
$ sudo apt-get install python2.7-dev python3-dev

Tải opencv

$ cd ~
$ wget -O opencv.zip https://github.com/Itseez/opencv/archive/4.5.4.zip
$ unzip opencv.zip
$ wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/4.5.4.zip
$ unzip opencv_contrib.zip
$ wget https://bootstrap.pypa.io/get-pip.py
$ sudo python get-pip.py
$ sudo python3 get-pip.py

Nên sử dụng môi trường ảo Python

$ sudo pip install virtualenv virtualenvwrapper
$ sudo rm -rf ~/.cache/pip

Cập nhật ~/.profile :

$ echo -e "\n# virtualenv and virtualenvwrapper" >> ~/.profile
$ echo "export WORKON_HOME=$HOME/.virtualenvs" >> ~/.profile
$ echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.profile
$ echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.profile
$ source ~/.profile

Chú ý: nên chạy lại source ~/.profile mỗi lần khởi động phần làm việc

$ mkvirtualenv cv -p python2
$ mkvirtualenv cv -p python3

Các gói Python trong thư mục tổng sẽ không có trong vùng ảo. Tương tự, các gói cài trong vùng ảo sẽ không khả dụng trong vùng tổng.

$ source ~/.profile

$ workon cv

Để kiểm tra vùng ảo, nếu thấy (cv) phía trước chỉ mục nghĩa là đang trong vùng ảo.

Giờ ta đang ở trong vùng ảo

$ pip install numpy
$ cd ~/opencv-4.5.4/
$ mkdir build
$ cd build
$ cmake -D CMAKE_BUILD_TYPE=RELEASE \ 
-D CMAKE_INSTALL_PREFIX=/usr/local \ 
-D INSTALL_PYTHON_EXAMPLES=ON \ 
-D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-4.5.4/modules \ 
-D BUILD_EXAMPLES=ON ..

Mở /etc/dphys-swapfile và sửa CONF_SWAPSIZE

# CONF_SWAPSIZE=100

CONF_SWAPSIZE=1024

Khởi động lại swapfile

$ sudo /etc/init.d/dphys-swapfile stop

$ sudo /etc/init.d/dphys-swapfile start

Cuối cùng ta biên dịch OpenCV

$ make -j4

$ sudo make install

$ sudo ldconfig

Sau đó, OpenCV + Python sẽ được cài trong /usr/local/lib/python3.5/site-packages/abcxyz . Kiểm tra lại bằng lệnh ls

Đổi tên

$ cd /usr/local/lib/python3.5/site-packages/abcxyz

$ sudo mv cv2.cpython-35m-arm-linux-gnueabihf.so cv2.so

$ cd ~/.virtualenvs/cv/lib/python3.5/site-packages/abcxyz

$ ln -s /usr/local/lib/python3.5/site-packages/cv2.so cv2.so

Mở terminal

$ source ~/.profile

$ workon cv

$ python

>>> import cv2

>>> cv2.__version__

‘4.5.4’

>>>

Một khi OpenCV được cài, ta có thể xóa opencv-4.5.4 and opencv_contrib-4.5.4 để tiết kiệm dung lượng

$ rm -rf opencv-4.5.4 opencv_contrib-4.5.4

Đừng quên đổi lại swap size

Mở /etc/dphys-swapfile và sửa CONF_SWAPSIZE

CONF_SWAPSIZE=100

# CONF_SWAPSIZE=1024

$ sudo /etc/init.d/dphys-swapfile stop

$ sudo /etc/init.d/dphys-swapfile start

Như vậy là xong

Leave a Reply

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