0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ラズパイでOpenCVが重い? 最適化したビルドをすればいい!

Last updated at Posted at 2022-02-22

RaspberryPi4でOpenCVがやたら重かった。
調べてみると、公式のドキュメントは見つけられないが、個人のブログなどでちらほらNEONへの最適化などの話が見つかった。
下記の手順でビルドすれば、ラズパイに最適化されたOpenCVになる。

おそらくapt installで入れたOpenCVはこれら(少なくともENABLE_NEON)が最適化されたものだと思う。
これは自分でビルドしたいときの手順。

重要なのはcmake時の環境変数

  • WITH_OPENMP
  • WITH_TBB
  • ENABLE_NEON
  • ENABLE_FAST_MATH
  • ENABLE_NEON
  • ENABLE_VFPV3

OpenCVソース取得

ほしいバージョンのソース (zip) を次から取得
https://opencv.org/releases/

あるいは
wget https://github.com/opencv/opencv/archive/<バージョン>.zip

依存するライブラリ

sudo apt install -y build-essential cmake git unzip pkg-config
sudo apt install -y libjpeg-dev libtiff-dev libpng-dev
sudo apt install -y libavcodec-dev libavformat-dev libswscale-dev
sudo apt install -y libgtk2.0-dev libcanberra-gtk* libgtk-3-dev
sudo apt install -y libgstreamer1.0-dev gstreamer1.0-gtk3
sudo apt install -y libgstreamer-plugins-base1.0-dev gstreamer1.0-gl
sudo apt install -y libxvidcore-dev libx264-dev
sudo apt install -y python3-dev python3-numpy python3-pip
sudo apt install -y libv4l-dev v4l-utils
sudo apt install -y libopenblas-dev libatlas-base-dev libblas-dev
sudo apt install -y liblapack-dev gfortran libhdf5-dev
sudo apt install -y libprotobuf-dev libgoogle-glog-dev libgflags-dev
sudo apt install -y protobuf-compiler
sudo apt install -y libtbb2 libtbb-dev libdc1394-22-dev

ビルドとインストール

ここでは3.4.16~/にダウンロードしてきたとします。

# cd ~/
# wget https://github.com/opencv/opencv/archive/3.4.16.zip
cd ~/
unzip 3.4.16.zip 
rm 3.4.16.zip

cd opencv-3.4.16
mkdir build
cd build
pwd
# ~/opencv-3.4.16/build

# cmake webカメラ使うラズパイに最適化
cmake -DCMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DPYTHON3_PACKAGES_PATH=/usr/lib/python3/dist-packages \
-DENABLE_FAST_MATH=ON \
-DENABLE_NEON=ON \
-DENABLE_VFPV3=ON \
-DWITH_OPENMP=ON \
-DWITH_OPENCL=OFF \
-DWITH_TBB=ON \
-DBUILD_TBB=ON \
-DBUILD_TIFF=ON \
-DWITH_FFMPEG=ON \
-DWITH_V4L=ON \
-DWITH_LIBV4L=ON \
-DWITH_VTK=OFF \
-DWITH_QT=OFF \
-DOPENCV_ENABLE_NONFREE=ON \
-DINSTALL_C_EXAMPLES=OFF \
-DINSTALL_PYTHON_EXAMPLES=OFF \
-DOPENCV_GENERATE_PKGCONFIG=ON \
-DBUILD_EXAMPLES=OFF \
..

# make と install すごい2119
make -j4
sudo make install
make clean

# ldconfig
sudo ldconfig
sudo apt update
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?