FC2ブログ

FreeBASIC 学習:cv2 モジュール

2019-08-10 :  PCクリニック
前回(2019-08-07)の記事:
FreeBASIC 学習:time モジュール」に続いて、
OpenCV用のヘッダファイルを作る。

とは云っても、
実際は、GSL Shell用に(2016-03-26に)作った“cv2.lua”モジュール:
  「GSL Shell 学習:“cv2.lua”モジュール自作
から
C言語用ヘッダーファイル相当を抜き出して、

先日(2019-07-20)の記事:
FreeBASIC 学習:ヘッダファイル変換ツール fbfrog」で作った、
fbfrogで変換するダケ(変換結果から若干手修正するが)。

そして、

  #inclib "opencv_world300" '  この行を付加した。

結果は、“cv2.bi”



早速、
動作確認の為のテストメイン:「CV_test.bas」
を作成・実行。

これは、先月(2019-07-12)の記事:
FreeBASIC 学習:OpenCV 使えた
を若干手直しして作成。
#include "cv2.bi"
' ----------------------------------------

dim img as CvMat ptr
dim as long xx, yy
dim B as ubyte ptr

img = cvLoadImageM( "test.tif", 0 ) ' 0 : GrayScale で読込む

yy = img->yy: xx = img->xx: B = img->Byte

print yy, xx ' 行数、列数
print B[0], B[xx-1], B[(xx*(yy-1)+xx-1)] ' 画素値3つ
これで動いた。
OKダ。



更に、もう1本

2年前(2017-08-11)の記事:
OpenCV 学習:cvMinMaxLoc」の
テスト・プログラム「CV_cvMinMaxLoc.gsl」を移植して、
「CV_cvMinMaxLoc.bas」を作ってみた。
#include "cv2.bi"

declare sub cvMinMaxLoc_ Alias "cvMinMaxLoc"( byval arr as CvArr ptr, byval N as double ptr, byval X as double ptr, byval Nidx as CvPoint ptr, byval Xidx as CvPoint ptr, byval mask as CvArr ptr )
'      _ は、@24 付のため。--- リンクで Warning が出るが
' =======================================
Dim As CvMat Ptr M_, m ' 大文字/小文字の区別が無いので注意!
Dim T( 4*3 ) As Double => { 0.2, 4, -0.5, 1 , 1.1, 0, 3.0, -3 , 1.2, -5, 0, 2 }
Dim As Long n, k, j

' --- 3行4列マトリックス
M_ = cvCreateMat( 3, 4, 6 ) ' -- CV_64FC1
For n = 0 To 11 : M_->Dbl[n] = T(n) : Next

Dim As Double N_, X
Dim As CvPoint PN, PX

m = cvCreateMat( 3, 4, 0 )


' --- 2行目ベクトル 4要素目=2行目先頭
For n = 0 To 11 : m->Byte[n]=0 : Next
For n = 4 To 7 : m->Byte[n]=1 : Next
cvMinMaxLoc_( M_, @N_, @X, @PN, @PX, m )

' --- 最大値のインデックスの列
' print N_, X, PN.x, PN.y, PX.x, PX.y
for j=0 to 2 : print M_->Dbl[4*j+PX.x], : next : print


' --- 3列目ベクトル 1行は4要素
for n=0 to 11 : m->Byte[n]=0 : next
for n=2 to 10 step 4 : m->Byte[n]=1 : next
cvMinMaxLoc_( M_, @N_, @X, @PN, @PX, m )

' --- 最大値のインデックスの行
' print N_, X, PN.x, PN.y, PX.x, PX.y
for k=0 to 3 : print M_->Dbl[4*PX.y+k], : next: print
これもOK。



本日はここまで。


FreeBASIC 学習は続く。


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

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



コメントの投稿

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

人気blog Ranking/おきてがみ


おきてがみ
最新記事
カレンダー
08 | 2019/09 | 10
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
ブックマーク