GSL Shell 学習:“cv2_a.lua”モジュール?

2017-08-14 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
前(2017-08-12)の記事「OpenCV 学習:関数プロトタイプ宣言一覧」で、
関数プロトタイプ宣言「cv_cdef_Func.lua」ファイル、
構造体等定義ファイル「cv_cdef_Struct.lua」ファイル、
が一応出来た?

そこで、
以前(2017-08-05)の記事「OpenCV 学習:定数コードの値」で書いた、
“CV_constant.txt”ファイルも含めて、

昨年(2016-03-26)の記事「GSL Shell 学習:“cv2.lua”モジュール自作」で書いた、
'cv2'モジュールを全面的に置き換えることにした。


と云っても、モジュールではない?
単なるサブプログラムでしょうか?


ファイル名は cv2_a.luaとした:
----- cv2_a.lua -----

----- 最初に定義:
cv2 = ffi.load( 'opencv_world300' )


--[[
   ここに「CV_constant.txt」の中身
]]


--[[
   ここに「cv_cdef_Struct.lua」の初め部分
]]
  charA = |s| ffi.cast( 'char*', s )
  voidA = |a| ffi.cast( 'void*', a )
  intA = |v| ffi.cast( 'void*', v )

  NULL = voidA(0)


--[[
   次に、「cv_cdef_Struct.lua」の残り部分
]]

ffi.cdef[[
typedef unsigned char Byte;
typedef unsigned short Word;
typedef unsigned int DWord;

// 続けて、OpenCV 固有の構造体

typedef void CvArr;
typedef struct CvPoint{ int x; int y; } CvPoint;
/*****************/
/*****************/

]]


----- 最後に「cv_cdef_Func.lua」の宣言

ffi.cdef[[
CvPoint cvPoint( int x, int y );
CvPoint cvPointFrom32f( CvPoint2D32f point );
CvPoint2D32f cvPoint2D32f( double x, double y );
CvPoint2D32f cvPointTo32f( CvPoint point );
CvPoint3D32f cvPoint3D32f( double x, double y, double z );
CvPoint2D64f cvPoint2D64f( double x, double y );
CvPoint3D64f cvPoint3D64f( double x, double y, double z );
CvSize cvSize( int width, int height );
CvSize2D32f cvSize2D32f( double width, double height );
CvRect cvRect( int x, int y, int width, int height );
void cvClearND( CvArr* arr, const int* idx );
IplImage* cvCloneImage( const IplImage* image );
CvMat* cvCloneMat( const CvMat* mat );
/*****************/
/*****************/

]]
以上、約 700 行ほど。


これを利用するときは、

  require'cv2_a'

で読み込み、

関数を使うときは、

  cv2. cvLoadImageM( 'hoge.tif', CV_LOAD_IMAGE_GRAYSCALE )
  print( img.xx, img.yy )
  cv2.cvSaveImage( 'out.tif', img, 0 )

の様な感じ。


これで、それなりの数の関数が使えるものができた?


本日はここまで。


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


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


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

コメントの投稿

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

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



おきてがみ

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