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日火曜日

OpenCVの計算結果をファイルに書き込む

画像処理した結果や中間の値をファイルに保存するには、下記のようにする


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日(火)