Skip to content

opencv installation ubuntu2004

atinfinity edited this page Nov 7, 2021 · 4 revisions

OpenCVビルド(Ubuntu 20.04)

OpenCV 4.3.0

パッケージのインストール

apt-getコマンドを用いて各種パッケージをインストールする

開発ツール

sudo apt-get -yV install build-essential
sudo apt-get -yV install cmake

行列演算

sudo apt-get -yV install libeigen3-dev

GUIフレームワーク関連

sudo apt-get -yV install libgtk-3-dev
sudo apt-get -yV install qt5-default
sudo apt-get -yV install libvtk7-qt-dev
sudo apt-get -yV install freeglut3-dev

並列処理関連

sudo apt-get -yV install libtbb-dev

画像フォーマット関連

sudo apt-get -yV install libjpeg-dev
sudo apt-get -yV install libopenjp2-7-dev
sudo apt-get -yV install libpng++-dev
sudo apt-get -yV install libtiff-dev
sudo apt-get -yV install libopenexr-dev
sudo apt-get -yV install libwebp-dev

動画像関連

sudo apt-get -yV install libavcodec-dev
sudo apt-get -yV install libavformat-dev
sudo apt-get -yV install libavutil-dev
sudo apt-get -yV install libswscale-dev
sudo apt-get -yV install libavresample-dev

その他

sudo apt-get -yV install libhdf5-dev

Python関連

sudo apt-get -yV install libpython3-dev
sudo apt-get -yV install python3-numpy

備考

OpenCV 3.2から追加されたWITH_LAPACKを有効し,LAPACK implementationとしてOpenBLASを使う場合は以下のパッケージをインストールする必要があります(LAPACK implementationとしてIntel MKLATLASも利用できるようです).

ATLASを使う場合は以下の手順でパッケージをインストールできます。

sudo apt-get -yV install libatlas-base-dev
sudo apt-get -yV install liblapacke-dev

OpenCVのインストール

ソースの入手

https://github.com/opencv/opencv/releases/tag/4.3.0からopencv-4.3.0.tar.gzを入手して展開する

tar xfvz opencv-4.3.0.tar.gz

CMakeの実行

https://gist.github.com/atinfinity/35b82911694e15c2270677389f7128aeを参考にCMakeを実行してMakefileを生成する

ビルド

make -j4

インストール

sudo make install

ldconfigの実行

sudo ldconfig

動作確認

サンプルプログラム

#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>

int main(int argc, const char* argv[])
{
  // 画像データをファイルから読み込む
  cv::Mat src = cv::imread("lena.jpg", cv::IMREAD_COLOR);

  // 画像の読み込みに失敗したらエラー終了する
  if(src.empty())
  {
    std::cerr << "Failed to open image file." << std::endl;
    return -1; 
  }

  cv::namedWindow("image", cv::WINDOW_AUTOSIZE);
  cv::imshow("image", src);
  cv::waitKey(0);
  cv::destroyAllWindows();

  return 0;
}

サンプルプログラムのコンパイル

g++ test.cpp -I/usr/local/include/opencv4 -L/usr/local/lib -lopencv_core -lopencv_imgcodecs -lopencv_highgui

Menu

Computer Vision

GPGPU

AR

ROS

Docker

Jetson

ARM

プログラミング言語

開発環境

勉強会

Clone this wiki locally