OpenCV 学習:cvReduce

2017-08-21 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
OpenCV.jp : OpenCV逆引きリファレンス」を見ていたら、・・・


 cv::Matの列/行毎の合計,平均値,最小,最大値を求める

 例えば,
 1行が1つの特徴ベクトルである行列(行数は特徴ベクトルの個数)があるとして,
 それらのベクトルの平均を求めるにはどうすれば良いでしょうか.
 1行1行足し合わせて個数で割ることも出来ますが, reduce メソッドを用いると,
 行列の行毎(または列毎)の,合計値や平均値などを簡単に計算できます.


とあった。

つまり、
void cvReduce( ・・・ )
  Reduces a matrix to a vector.
void cvReduce( const CvArr* src, CvArr* dst, int dim=-1, int op=CV_REDUCE_SUM );
// dim - dimension index along which the matrix is reduced.
// 0 means that the matrix is reduced to a single row.
// 1 means that the matrix is reduced to a single column.

// CV_REDUCE_SUM: sum of all rows/columns of the matrix.
// CV_REDUCE_AVG: mean vector of all rows/columns of the matrix.
// CV_REDUCE_MAX: maximum (column/row-wise) of all rows/columns of the matrix.
// CV_REDUCE_MIN: minimum (column/row-wise) of all rows/columns of the matrix.
と云うこと。


そこで、テストしてみた:
----- cvReduce.gsl -----
require'cv2_a'

--- 3行4列マトリックス
M = cv2.cvCreateMat( 3, 4, CV_64FC1 )
T = { 0.2, 4, -0.5, 1 , 1.1, 0, 3.0, -3 , 1.2, -5, 0, 2 }
for n=0,11 do M.Dbl[n]=T[n+1] end

--- 3行1列マトリックス
N = cv2.cvCreateMat( 3, 1, 6 )

cv2.cvReduce( M, N, 1, 0 ) -- 1列化、CV_REDUCE_SUM

print( N.Dbl[0], N.Dbl[1], N.Dbl[2] ) -- 行毎の和
と云った方法もある。


本日はここまで。


Lua ( GSL Shell ) / OpenCV 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


170712
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
10 | 2017/11 | 12
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク