GSL Shell 学習:CvMat 型で画像ファイル入出力

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

さて、本文。

今月(2016-03-04)の記事:「GSL Shell 学習:OpenCV の CvMat 型
では、一般のデータ・テーブルとして“CvMat”型を使った。

先月(2016-02-23)の記事:「GSL Shell 学習:OpenCV 使えそうダ?
で書いた、画像ファイルの入出力は“IplImage”型だったので、
今度は、“CvMat”型でやってみた。

読み込み関数が“cvLoadImage”から“cvLoadImageM”に代わる。
書き出しは一緒“cvSaveImage”ですね。

と云うことで、
序でに、上下反転“cvFlip”も学習。

テスト・コードは:----------
charA = |s|  ffi.cast( 'char*', s )
voidA = |a| ffi.cast( 'void*', a )
local cv2 = ffi.load('opencv_world300')
ffi.cdef[[
typedef void CvArr;
typedef struct CvMat{
int type; int step; int* refcount; int hdr_refcount;
union{ unsigned char* Byte; char* Char; unsigned short* Word; int* Int; double* Dbl; };
union{ int rows; int height; int yy; };
union{ int cols; int width; int xx; };
} CvMat;
CvMat* cvCreateMat( int rows, int cols, int type );
CvMat* cvLoadImageM( const char* fname, int iscolor );
int cvSaveImage( const char* fname, const CvArr* img, int );
void cvFlip( const CvArr* src, CvArr* dst, int flip_mode );
]]
img = cv2.cvLoadImageM( charA('hoge.tiff'), 0 ) -- 0 == 8bit GrayScale
xx, yy = img.xx, img.yy print( xx, yy ) -- サイズ確認

D = cv2.cvCreateMat( yy, xx, 0 ) -- 0 == CV_8U 符号なし 8ビット
cv2.cvFlip( img, voidA(0), 0 ) -- 出力は入力領域、 0 == 上下反転
cv2.cvSaveImage( charA('OUT.tiff'), img, 0 ) -- 0 == 8bit GrayScale
以上でしょうか。

そう、
  local ffi = require'ffi'
は特に必要は無かった。


本日はここまで。


Lua ( GSL Shell ) 学習は続く。


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


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

コメントの投稿

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

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



おきてがみ

最新記事
カレンダー
09 | 2017/10 | 11
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 31 - - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

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

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


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

Google Analytics
ブックマーク