OpenCV:CV_8UC3 のコード値

2016-08-05 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での blogramのランクインカテゴリは、
7、2、0、0、0、 1、0、0、0、0(40)で、換算ポイント 87pt 。
「化学業界」「硝子業界」「FM COCOLO」「e-radio」「グルコサミン」、
「Python」「Firefox」bg値変動。「Perl」「C言語」「FM青森」変化無し。
・-・ - -・

さて、本文。

5ヶ月前(2016-03-22)の記事「GSL Shell 学習:CvMat 型で画像ファイル入出力」で、
書いたコードの中に、
D = cv2.cvCreateMat( yy, xx, 0 )   -- 0 == CV_8U  符号なし 8ビット
の一行がある。

当時から、
“CV_8U”のコード値は“0”であると学習できたが、
“CV_8UC3”のコード値が分からなかった。

今回、やっと探し当てることが出来た。

なんと、
上記記事以前(2016-03-04)に書いていた記事:
GSL Shell 学習:OpenCV の CvMat 型」で、
参照(&学習?)していた「OpenCV-CookBook」の、
cv::Matの基本処理
を良く見れば載っていたのだった。

  ・・・・・
  ・・・・・
  これらは types_c.h ヘッダで次の様に定義されています.
#define CV_MAKETYPE(depth,cn) (CV_MAT_DEPTH(depth) + (((cn)-1) << CV_CN_SHIFT))
...
#define CV_8UC1 CV_MAKETYPE(CV_8U,1)
#define CV_8UC2 CV_MAKETYPE(CV_8U,2)
...
#define CV_64FC1 CV_MAKETYPE(CV_64F,1)
#define CV_64FC2 CV_MAKETYPE(CV_64F,2)
  ・・・・・
  ・・・・・


つまり、上記一行は、
D = cv2.cvCreateMat( yy, xx, 0+(1-1)*2^1 )   --  CV_8UC1 を定義式で表現
のことですね。


そうすると、
“CV_8UC3”で“img”を確保したいときは、
img = cv2.cvCreateMat( yy, xx, 0+(3-1)*2^3 )   --  CV_8UC3 ( 定義式で表現 )
ですね。
計算すると、16 になる。

  img = cv2.cvCreateMat( yy, xx, 16 )

と云うことでした。


本日はここまで。


Lua ( GSL Shell ) 学習は続く。


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


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

コメントの投稿

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

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



おきてがみ

最新記事
カレンダー
05 | 2017/06 | 07
- - - - 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
ブックマーク