OpenCV

Build InsiderOpenCV入門という連載が始まった。
OpenCVに触れたのは会社員になってからだった。それまでは画像処理でリアルタイムにこれほどの処理が可能だなんて思っていなかったな。
連載の第1回では概要が程よくまとまっていてわかりやすい。初めて触れた時にここまで俯瞰した情報に出会っていれば、もっと習得は早かったような気がする。自分が初学時に知りたかった情報を引用して抜粋。

OpenCVとは? その機能概要/構成技術/主要モジュール

1.2 OpenCVでできること

OpenCVを使うと利用できる機能のうち、比較的一般的にも知られている機能を以下にピックアップしました。また、この他、開発者自身が独自のアルゴリズムを実装するために用いることができる基本的な機能や、便利な機能も備えています。


スポンサーリンク
モジュール名 ライブラリ名(OpenCV 3.0) 概要
core opencv_core300.lib 画像・行列データ構造の提供、配列操作、図形描画、XMLおよびYAML入出力、コマンドラインパーサー、ユーティリティ機能など
imgproc opencv_imgproc300.lib フィルター処理、アフィン変換、エッジ検出、ハフ検出、色変換、ヒストグラム計算、ラベリングなど
calib3d opencv_calib3d300.lib カメラキャリブレーション、ステレオ対応点探索
features2d opencv_features2d300.lib 特徴点抽出(ORB、BRISK、FREAKなど)
highgui opencv_highgui2d300.lib GUI(ウィンドウ表示、画像ファイル、動画ファイルの入出力、カメラキャプチャなど)
ml opencv_ml300.lib SVM、決定木、ブースティング、ニューラルネットワークなど
cuda opencv_cuda300.lib 画像処理のCUDA(GPGPU)実装
objdetect opencv_objdetect300.lib オブジェクト検出(顔検出、人体検出など)
photo opencv_photo300.lib 画像修復、ノイズ除去処理、HDR(High Dynamic Range)合成、画像合成など
shape opencv_shape300.lib 形状マッチング
stitching opencv_stitching300.lib パノラマ合成
superres opencv_superres300.lib 超解像処理
video opencv_video300.lib オプティカルフロー、カルマンフィルタ、背景差分など
viz opencv_viz300.lib 3Dデータの可視化(内部的にVTKを使用)
nonfree opencv_nonfree300.lib 一部の国で特許が取得されている、もしくは使用に制限がある可能性があるアルゴリズム(SIFT、SURF)

ネット検索で情報を集めようとすると、断片ばかりが集まって、なかなかこういう全体像にたどり着けなくて苦しい思いをする。
初めて見た記事のサンプルコードがバージョン1.x系だったりすると、後々悲惨。


スポンサーリンク

関連記事

参考書
Raspberry PiのGPIOを操作するPythonライブラリ『RPi.GPIO』の使い方
3Dグラフィックスの入門書
R-CNN (Regions with CNN features):ディープラーニングによる一般物体...
『手を動かしながら学ぶエンジニアのためのデータサイエンス』ハンズオンセミナーに行ってきた
Javaで作られたオープンソースの3DCGレンダラ『Sunflow』
Unityで学ぶC#
機械学習で遊ぶ
UnityからROSを利用できる『ROS#』
Google Colaboratoryで遊ぶ準備
U-Net:ディープラーニングによるSemantic Segmentation手法
Photogrammetry (写真測量法)
ZScript
iOSデバイスのためのフィジカル・コンピューティングツールキット『konashi(こなし)』
Mean Stack開発の最初の一歩
ニューラルネットワークと深層学習
Regard3D:オープンソースのStructure from Motionツール
疑似3D写真が撮れるiPhoneアプリ『Seene』がアップデートでついにフル3Dモデルが撮影できる...
オープンソースの取引プラットフォーム
このブログのデザインに飽きてきた
MeshLab:3Dオブジェクトの確認・変換に便利なフリーウェア
Theia:オープンソースのStructure from Motionライブラリ
UnrealCLR:Unreal Engineで.NET Coreを利用できるプラグイン
Mayaのシェーディングノードの区分
ベイズ推定とグラフィカルモデル
顔追跡による擬似3D表示『Dynamic Perspective』
OpenMVS:Multi-View Stereoによる3次元復元ライブラリ
OpenCV 3.1とopencv_contribモジュールをVisual Studio 2015で...
ヘッドマウントディスプレイとビジュアリゼーションの未来
OpenAR:OpenCVベースのマーカーARライブラリ
IronPythonを使ってUnity上でPythonのコードを実行する
Unityで画面タッチ・ジェスチャ入力を扱う無料Asset『TouchScript』
手を動かしながら学ぶデータマイニング
WordPressのテーマを自作する
2D→3D復元技術で使われる用語まとめ
UnityでARKit2.0
Konashiを買った
Google App Engineのデプロイ失敗
シフトカーを改造してラジコン化する人達
TensorSpace.js:ニューラルネットワークの構造を可視化するフレームワーク
画像認識による位置情報取得 - Semi-Direct Monocular Visual Odome...
粘土をこねるようなスカルプトモデリング

コメント

  1. […] ネガさんとこの記事のなかで、つい思い出したといえば、 OpenCV […]