Build InsiderでOpenCV入門という連載が始まった。
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_features2d 300.lib 特徴点抽出(ORB、BRISK、FREAKなど) highgui opencv_highgui2d 300.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系だったりすると、後々悲惨。
スポンサーリンク
関連記事
ニューラルネットワークで画像分類
CNN Explainer:畳み込みニューラルネットワーク可視化ツール
動的なメモリの扱い
iOSデバイスと接続して連携するガジェットの開発方法
UnityでARKit2.0
SSD (Single Shot Multibox Detector):ディープラーニングによる一般...
OpenCVで動画の手ぶれ補正
写真から3Dメッシュの生成・編集ができる無料ツール『Autodesk Memento』
Mask R-CNN:ディープラーニングによる一般物体検出・Instance Segmentatio...
Raspberry PiでIoTごっこ
Structure from Motion (多視点画像からの3次元形状復元)
KelpNet:C#で使える可読性重視のディープラーニングライブラリ
DCGAN (Deep Convolutional GAN):畳み込みニューラルネットワークによる敵...
参考書
BlenderでPhotogrammetryできるアドオン
AndroidもopenGLも初心者さ (でもJavaは知ってるよ)
続・ディープラーニングの資料
このブログのデザインに飽きてきた
openMVGをWindows10 Visual Studio 2015環境でビルドする
法線マップを用意してCanvas上でShadingするサンプル
OpenCVでカメラ画像から自己位置認識 (Visual Odometry)
人間の顔をそっくりそのままCGで復元する『Digital Emily Project』
iPhone x ロボットハッカソン~RomoのiPhone用SDKで目覚ましアプリを作る~
OpenCVで平均顔を作るチュートリアル
UnrealCLR:Unreal Engineで.NET Coreを利用できるプラグイン
ポリゴン用各種イテレータと関数セット
なんかすごいサイト
オープンソースの人体モデリングツール『MakeHuman』のAPI開発プロジェクトがスタート
機械学習手法『SVM(Support Vector Machine)』
書籍『ゼロから作るDeep Learning』で自分なりに学ぶ
Javaで作られたオープンソースの3DCGレンダラ『Sunflow』
fSpy:1枚の写真からカメラパラメーターを割り出すツール
U-Net:ディープラーニングによるSemantic Segmentation手法
Python for Unity:UnityEditorでPythonを使えるパッケージ
GAN (Generative Adversarial Networks):敵対的生成ネットワーク
粘土をこねるようなスカルプトモデリング
iPadをハンディ3Dスキャナにするガジェット『iSense 3D Scanner』
Arduinoで作るダンボーみたいなロボット『ピッコロボ』
Math.NET Numerics:Unityで使える数値計算ライブラリ
html5のcanvasの可能性
UnityユーザーがUnreal Engineの使い方を学ぶには?
OpenCV3.3.0でsfmモジュールのビルドに成功!
コメント
[…] ネガさんとこの記事のなかで、つい思い出したといえば、 OpenCV […]