2017年8月7日月曜日

OpenCV 3.2 Module List (自分用)


ABCD

modulefunctionlink

cappsapps provides various nodes that run internally OpenCV's functionalities

ccalib3dThe functions in this section use a so-called pinhole camera model. In this model, a scene view is formed by projecting 3D points into the image plane using a perspective transformation.
カメラキャリブレーション、ステレオ対応点探索
calib3d

ccore画像・行列データ構造の提供、配列操作、基本図形描画、XMLおよびYAML入出力、コマンドラインパーサー、ユーティリティ機能などcore

cfeatures2d特徴点抽出(ORB、BRISK、FREAKなど)features2d

cflann多次元空間のクラスタリングやサーチ問題flann

chighguiGUI(ウィンドウ表示など)highgui

cimgcodecs画像ファイル入出力imgcodecs

cimgprocフィルター処理、アフィン変換、エッジ検出、ハフ検出、色変換、ヒストグラム計算、ラベリングなどimgproc

cjavajava

cmlSVM、決定木、ブースティング、ニューラルネットワークなどml

cobjdetectオブジェクト検出(顔検出、人体検出など)objdetect

cphoto画像修復、ノイズ除去処理、HDR(High Dynamic Range)合成、画像合成などphoto

cpython2python

cshape形状マッチングshape

cstitchingパノラマ合成stitching

csuperres超解像処理superres

ctsテスト用モジュールts

cvideoオプティカルフロー、カルマンフィルター、背景差分などvideo

cvideoio動画ファイルの入出力、カメラキャプチャなどvideoio

cvideostab手ブレ補正(Video Stabilization)videostab

cviz3Dデータの可視化(内部的にVTKを使用)viz

cworldOpenCV を利用するときには複数のライブラリをリンクする必要があり、world は、その手間を軽減するために作られた、複数のモジュールをまとめた一つのライブラリ。つまりwrapperworld

earucoThis module is dedicated to square fiducial markers (also known as Augmented Reality Markers) These markers are useful for easy, fast and robust camera pose estimation.ARマーカーaruco

ebgsegmThis algorithm combines statistical background image estimation and per-pixel Bayesian segmentation.背景セグメンテーションnbgsegm

ebioinspiredThis class provides the main controls of the Gipsa/Listic labs human retina model. This is a non separable spatio-temporal filter modelling the two main retina information channels.視覚モデルに従う処理bioinspired

eccalibCustom Calibration Pattern for 3D reconstruction
キャリブレーションパターンのカスタム
ccalib

econtrib_worldThe world module is actually a wrapper module that builds the complete openCV module interface, so basically all modules available.contrib_world

edatasetsInterface forinterfacing With existing Computervision databases.
様々なデータセットをダウンロード
datasets

ednnFunctionality of this module is designed only for forward pass computations (i. e. network testing). A network training is in principle not supported.
ディープラーニング
dnn

ednn_modernThe module is wrapper to tiny-dnn, a header only, dependency-free deep learning framework in C++11.dnn_modern

edpmThis is a C++ abstract class, it provides external user API to work with DPM.
デフォマブル パートモデル
dpm

eface顔認識face

efreetypematにtextをマージするfreetype

efuzzyファジーfuzzy

eimg_hash画像の各種ハッシュ処理img_hash

eline_descriptor線記述子line_descriptor

eoptflowオプティカルフロー推定optflow

e
phase_unwrapping
位相アンラッピングphase_unwrapping

eplotグラププロットplot

ereg画像のレジストレーションreg

ergbdRGB+デプス処理rgbd

esaliency顕著性マップsaliency

estereoステレオマッチングstereo

estructured_lightカメラープロジェクション用パターン投影structured_light

e
surface_matching
3次元点マッチングsurface_matching

etext文字認識text

etrackingトラッキングtracking

exfreatures2d拡張特徴量計算モジュールxfeatures2d

eximgproc拡張画像処理モジュールximgproc

exobjdetect拡張物体検出モジュールxobjdetect

exphoto拡張コンピュテーショナルフォトグラフィモジュールxphoto



cnn_3dobj

cvv

dnns_easily_fooled

hdf

matlab

sfm

CUDA

An installation of OpenCV 3.3.0 on Raspberry Pi ZERO

先の投稿は、Raspberry Pi2上での、OpenCV3.3.0でした。

今回は、ZEROです。

エラーで止まった事もあり、ちゃんと設定してbuild & install しました。

時間は、約7時間かかります。

手順は、先の投稿を見てください。

今回の投稿では、cmake-guiの設定値と、make からの install の画面の説明

1.cmake-gui

シングルコアのZEROなので、必要最小限のインストールにしました。
比較的単純な画像処理を行いたいので、次の設定をしています。
もちろん、NEONなどはdisableです。








2.cmake-gui

make からの install の画面、14%という数字に戸惑いました。
途中で、終わっている?
でも、libraryはできているので、install してみると!



sudo make install
sudo ldconfig
cd ~/opencv-3.3.0/samples/cpp
g++ `pkg-config opencv --cflags --libs` facedetect.cpp -o facedetect
./facedetect  --cascade="../../data/haarcascades/haarcascade_frontalface_alt.xml" --scale=1.5 ../data/lena.jpg

で、Lenaさん(^^)/
Peace!!


2017年8月5日土曜日

An installation of OpenCV 3.3.0 on raspberry Pi 2

当初の投稿は、Raspberry Pi 3としていましたが、
Raspberry Pi 2の間違いです。<(_ _)>

8月3日に、OpenCV3.3.0がリリースされたので、、、
Raspberry Pi 3で、opencv 3.3 を build & install した忘備録

大まかな手順は、

1.依存するソフトのインストール

2.ソースをopencv.orgからダウンロードし、解凍、および作業dir作成

3.cmake

4.make

5.opencv インストール

6.確認

7.ZEROの場合



では、記録の始まり

1.依存するソフトのインストール

http://plantuml.com/download から、plantumljarをダウンロードする
sudo cp plantuml.jar /usr/share/java

sudo /sbin/ldconfig

sudo apt-get install -y build-essential git cmake pkg-config cmake-qt-gui mesa-utils  libgl1-mesa-dri libjpeg-dev libtiff5-dev libpng12-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev libgtk2.0-dev libprotobuf-dev protobuf-compiler libvtk5-dev libvtk5-qt4-dev python-vtk tcl-vtk  libatlas-base-dev gfortran libeigen3-dev libv4l-dev libqt4-core libqtgui4 libqt4-test libqt4-opengl-dev sphinx-common doxygen

python3の開発環境があれば、下はいらない。30分位かかるかも
sudo apt-get install python3-dev python3-pip

2.ソースをopencv.orgからダウンロードし、解凍、および作業dir作成

ダウンロード後に、~/で解凍すると次のディレクトリーができるので、その中に入って、作業ディレクトリーを作成

wget https://github.com/opencv/opencv/archive/3.3.0.zip
wget https://github.com/opencv/opencv_contrib/archive/3.3.0.tar.gz

wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.3.0.zip

unzip 3.3.0.zip
tar xvf  3.3.0.tar.gz

cd opencv-3.3.0

mkdir build

cd build


3.cmake

cmake -D CMAKE_BUILD_TYPE=RELEASE \
     -D CMAKE_INSTALL_PREFIX=/usr/local \
     -D INSTALL_PYTHON_EXAMPLES=ON  \
     -D PLANTUML_JAR=/usr/share/java/plantuml.jar  \
     -D ENABLE_NEON=ON \
     -D WITH_TBB=OFF -D BUILD_TBB=OFF  \
     -D WITH_QT=ON -D WITH_OPENGL=OFF \
     -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.3.0/modules \
     -D BUILD_opencv_freetype=OFF \
     -D BUILD_EXAMPLES=OFF ..

上記のcmakeは、サンプルプログラムのbuildがOFF
もし、buildするならONにする。


4.make

make -j4

5.opencv インストール

sudo make install
sudo ldconfig

6.確認

samples/cppに移動してお決まりのlenaさん

g++ `pkg-config opencv --cflags --libs` facedetect.cpp -o facedetect

./facedetect  --cascade="../../data/haarcascades/haarcascade_frontalface_alt.xml" --scale=1.5 ../data/lena.jpg

約5時間作業
Peace!!



7.ZERO

CPUが、シングルコアのARM1176JZF-SなのでNEONはOFF。
ただ、上記のcmakeのパラメータで実行しても、エラーがでる。
従って、cmake-guiを立ち上げてエラーを取りながらgenerationする。
その後、makeする。
そして、じーっと待つ。。。。。