cvmatch

画像のマッチング検査

cvmatch p1,p2,p3,p4,p5

p1 : 認識されたX座標が代入される変数
p2 : 認識されたY座標が代入される変数
p3 : マッチングのタイプ
p4 : マッチング元のCVバッファID
p5 : マッチング先のCVバッファID

(プラグイン / モジュール : hspcv)

解説

マッチング先のCVバッファの中から、マッチング元のCVバッファに最も近い領域を探し出して結果を返します。
実行後、(p1,p2)に指定した変数へ結果となる座標を代入します。
p3でマッチングで使用する評価方法のタイプを指定します。
p3で指定することのできるマクロは以下の通りです。

CV_TM_SQDIFF
	R(x,y)=sumx',y'[T(x',y')-I(x+x',y+y')]^2

CV_TM_SQDIFF_NORMED
	R(x,y)=sumx',y'[T(x',y')-I(x+x',y+y')]^2/sqrt[sumx',y'T(x',y')^2・sumx',y'I(x+x',y+y')^2]

CV_TM_CCORR
	R(x,y)=sumx',y'[T(x',y')・I(x+x',y+y')]

CV_TM_CCORR_NORMED
	R(x,y)=sumx',y'[T(x',y')・I(x+x',y+y')]/sqrt[sumx',y'T(x',y')^2・sumx',y'I(x+x',y+y')^2]

CV_TM_CCOEFF
	R(x,y)=sumx',y'[T'(x',y')・I'(x+x',y+y')],
	where T'(x',y')=T(x',y') - 1/(w・h)・sumx",y"T(x",y")
	I'(x+x',y+y')=I(x+x',y+y') - 1/(w・h)・sumx",y"I(x+x",y+y")

CV_TM_CCOEFF_NORMED
	R(x,y)=sumx',y'[T'(x',y')・I'(x+x',y+y')]/sqrt[sumx',y'T'(x',y')^2・sumx',y'I'(x+x',y+y')^2]

p5で対象となるCVバッファIDを指定します。
省略された場合は、cvsel命令で設定されたIDが使用されます。

cvmatch命令は、あくまでも最も近い領域を検索するだけで、完全に同じであることを保障するものではありません。

サンプル逆引き (1)

cvmatch.hsp

情報

プラグイン / モジュールhspcv
バージョン3.2
作成日2009/08/01
著作者onitama
URLhttp://www.onionsoft.net/hsp/
備考hspcv.asをインクルードすること。
タイプ拡張命令
グループ拡張画面制御命令
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\hspcv.hs