OpenCV、機械学習、はやりのDeep learningの環境構築の方法、サンプルの動かし方、APIの使い方、Tipsなどをすぐに忘れてしまうので、備忘録として記録している。記憶がなくなるスピードが、早いのでメモしておかないと再現できなくなる確率が高まっている。 最近、再度HDDを飛ばしてしまい、過去の自分のページに再度助けられた。 また、DNNモジュールを触る機会が増えているので、C++からPyhonへと鞍替え中。 内容を気にいっていただければ、twitterで紹介願います。
2012年10月30日火曜日
OpenCVのVideoWriterに関してのメモ
Windows版 OpenCVのVideoWriterに関してのメモ
フォーマットに関して
CV_FOURCC('X','V','I','D') XVID MPEG-4 ASP (Advanced Simple Profile)に準拠
CV_FOURCC('M','J','P','G') モーションJPG
CV_FOURCC('D','I','B',' ') 無圧縮
白黒での保存(Windowsのみ)
VideoWriter::VideoWriter(const string& filename, int fourcc, double fps, Size frameSize, bool isColor=true)
isColor をfalseに
これに気づかず、以前白黒画像を一旦3chに変換して保存していた。
仕様orBug
frameSizeより保存するMatのサイズが大きい場合、自動でスケーリングされる
2012年10月26日金曜日
OpenCV 2.4.3 RCがリリースされた
2.4.3のリリース予定が11/1日だったが、RC版が昨日リリースされた。
概略を以下に訳してみた。詳細は、ここで確認して
・従来の並列化のアルゴリズムが、新しいものに置き換わったとのこと
TBBをインストールすることなく、パフォーマンスが向上するとのこと
・別エントリーにも書いたが、Android向けのフレームワークを改良
カメラのサポートも増やした。 詳細は、OpenCV4Android Release Notesを
・iOS6向けのフレームワーク
face detection, bilateral filter等のいくつかの重要なアルゴリズムは、スレッディングのおかげでA5以降のチップで高速化された
バグも修正し、-O3の最適化がきくようになった。
OpenCV iOSのチュートリアルもできた
・pythonのサンプル
ASIFT, hand-written digit recognition, motion debluringなどのサンプルを追加
・2つの新規cascade辞書
silverware and profile facesの辞書を追加
・"simple flow" optical flow algorithmの追加
calcOpticalFlowSF が追加されているようだ
・CUDA対応
・OpenCL
Technology-preview version
・バグ対応
2.4.2から約130の修正
・github
最新版は、ここからpullして
Android向けOpenCVアプリが更新された
2.4.3リリースに合わせての動きかもしれないが、Android向けOpenCV Managerが更新された。
機能追加を期待していたが、変更点はUIのバグ修正となっている。
あわせて、OpenCV Face DetectionのデモアプリとTegra 3 devices用デモアプリがリリースされている。
2012年10月24日水曜日
OpenCVのチュートリアルに関して調べてみた
本家のページにチュートリアルが掲載されている。
残念ながら代表的なすべての機能に関して、チュートリアルは、準備されてはいない。
以下に各章の概要を記す。
量が多いので、古典的な画像処理まで
Introduction to OpenCV (概要)
- OpenCVの開発環境に関して
- Linux, Windows, Android, Mac
core module. The Core Functionality (基本関数)
- Matに関して
- 画素へのアクセス
- フィルタ計算
- 合成
- コントラスト
- グラフィックス
- 文字描画
- 離散フーリエ変換
- XMLファイル入出力
- 互換性
imgproc module. Image Processing (イメージ処理)
- ぼかし
- 膨張と収縮
- Morphological変換
- 拡大と縮小
- 閾値処理
- 線形フィルター処理
- 境界処理
- ソーベルフィルター
- ラプラシアンフィルター、
- キャニーエッジ
- ハフ直線検出
- ハフ円検出
- 反転
- アフィン変換
- ヒストグラムの均等化
- ヒストグラム計算
- ヒストグラム比較
- バックプロジェクション
- テンプレートマッチング
- 輪郭検出
- 外接多角形
- 外接四角形と外接円
- 最小領域と最小楕円
- モーメント
- 点と輪郭の関係
highgui module. High Level GUI and Media (GUIとメディア)
- トラックバー
- ビデオファイル(カメラ)からの読み出し(+画像の類似性の話)
- videoWriteHighGuiは、エントリーのみで文章がない(10/24)
to be continued
2012年10月23日火曜日
2012年10月18日木曜日
OpenCVでcv::Matの平均を求める
画像の輝度値の平均を求める場合、各要素にアクセスし、輝度値の合計を求め、画素数でわれば輝度値の平均を求めることができる。
この場合、列と行でループをまわして、各要素へのアクセスをおこうなことになる。
OpenCVでは、平均を求める便利な関数cv::reduceが準備されている
C++: void reduce(InputArray src, OutputArray dst, int dim, int rtype, int dtype=-1 )
この関数では、1次元の方向しか処理を行わない
dim = 0 の場合、行方向に処理が行われ、列のみとなる
dim = 1 の場合、列方向に処理が行われ、行のみとなる
rtypeは、処理の種類で下記のパラメータを指定する
CV_REDUCE_SUM 合計
CV_REDUCE_AVG 平均
CV_REDUCE_MAX 最大値
CV_REDUCE_MIN 最小値
画面全体の平均値を求めには、2回処理を繰り返せばよい。
ただし、縮退後のmatのタイプも自動的に入力のタイプに合せられるため、ucharのデータを使用すると結果もucharとなる
画像認識のセミナーを調べてみた 2
今後3ヶ月以内に開催される画像認識に関連するセミナーを調べてみた
10月11月は、前回メモがメインで、下記はその後に見つけたものである。
原則有料であるが、一部無料のものもある。
“Lytro”で理解するライト・フィールド・カメラの全貌
http://techon.nikkeibp.co.jp/article/SEMINAR/20120904/237726/
2012年10月26日(金)
FPGA画像処理を自ら構築する(受講無料)
http://www.avaldata.co.jp/support/seminar/54/201207/seminar_201211.html
2012年11月16日(金)
国際画像セミナー(聴講無料)
http://www.adcom-media.co.jp/ite/seminar/
2012年12月5日-8日
入門 動画像認識/解析/処理~特徴抽出と判定アルゴリズム
http://www.catnet.ne.jp/triceps/sem/s121211a1.html
2012年12月11日(火)
デジタル画像処理の基礎とノイズ除去・符号化・抽出法 ~PC演習付~
http://www.j-techno.co.jp/test/eisei_P.cgi?mode=sem&unit=2012121301
2012年12月13日 (木)
GPGPUプログラミングの基礎と画像処理の高速化実践講座 ~1人1台PC実習付~
http://www.j-techno.co.jp/test/eisei_P.cgi?mode=sem&unit=2012121900
2012年12月19日 (水)
画像局所特徴量と統計的学習手法の組み合わせによる物体認識
http://www.catnet.ne.jp/triceps/sem/s130129a.html
2013年1月29日(火)
登録:
投稿 (Atom)