OpenCV / cvSum : Calculates the sum of array elements

2017-08-18 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
OpenCV 2.4.13.2 documentationの、
OpenCV API Reference」の、
Operations on Arrays」に、

  sum
  Calculates the sum of array elements.

  C: CvScalar cvSum( const CvArr* arr )

   arr - input array that must have from 1 to 4 channels

  The functions sum calculate and return the sum of array elements,
   independently for each channel.

がある。


先日(2017-08-14)の記事「GSL Shell 学習:“cv2_a.lua”モジュール?」で作った、
“cv2_a.lua”サブプログラムを使って、

試しにコーディングしてみた:
----- CV_Sum_of_Vec.gsl -----
require'cv2_a'

----- double 版
T = matrix.vec{ 0.1, 0.2, 0.4, 7.6, 0.8, 1.0 }

v = cv2.cvCreateMat( 1, #T, CV_64FC1 )
ffi.copy( v.Dbl, T.data, #T*8 )

print( cv2.cvSum(v).v1 )

-------------------------------------------------

----- long 版
T = ffi.new( 'int32_t[6]', 1, 2, 4, 76, 8, 10 )

i = cv2.cvCreateMat( 1, 6, CV_32SC1 )
ffi.copy( i.Int, T, 6*4 )

print( cv2.cvSum(i).v1 )
2パターンとも行けました。


と、以上は行ベクトルだった。


(多分行けるでしょうが)列ベクトルではどうか?
念の為コーディングしてみた:
----- Sum_of_Vec_CV_col.gsl -----
require'cv2_a'

----- double 版
T = matrix.vec{ 0.1, 0.2, 0.4, 7.6, 0.8, 1.0 }

v = cv2.cvCreateMat( #T, 1, CV_64FC1 ) -- 列ベクトル
ffi.copy( v.Dbl, T.data, #T*8 )

print( cv2.cvSum(v).v1 )

-------------------------------------------------

----- long 版
T = ffi.new( 'int32_t[6]', 1, 2, 4, 76, 8, 10 )

i = cv2.cvCreateMat( 6, 1, CV_32SC1 ) -- 列ベクトル
ffi.copy( i.Int, T, 6*4 )

print( cv2.cvSum(i).v1 )
(当然の事ながら?)行けました。



本日はここまで。


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


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


170709,10
関連記事
スポンサーサイト

コメントの投稿

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

おきてがみ/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
ブックマーク