[32bit] 2 つの画像間の幾何学的変換(ワープ)を,ECC 基準[67]に基づいて求めます.
video_findTransformECC2 p1,p2,p3,p4,p5,p6,p7
p1 = sptr : IntPtr templateImage p2 = sptr : IntPtr inputImage p3 = sptr : IntPtr warpMatrix p4 = int : int motionType p5 = ARGS_TERMCRITERIA : TermCriteria criteria p6 = sptr : IntPtr inputMask p7 = var : out double returnValue
(プラグイン / モジュール : OpenCvSharpExtern.dll)
この関数は,ECC基準([67])に照らし合わせて,最適な変換(warpMatrix)を推定します.テンプレート画像と、最終的にワープした入力画像の相関係数である、最終的な拡張相関係数を返します。関数 findTransformECC は,findHomography や estimateRigidTransform とは異なり,強度の類似性を利用したエリアベースの位置合わせを行います.要するに,この関数は,画像を大まかに整列させる最初の変換を更新します.この情報が不足している場合は,初期化として identity warp(ユニティ行列)が利用されます.なお,画像が強い変位や回転を受ける場合は,画像を大まかに揃える初期変換が必要になります(例えば,画像の内容がほぼ同じになるような単純なユークリッド変換や類似性変換など).1枚目の画像に近い画像を得るために,2枚目の画像に逆ワープを利用します.つまり,フラグ WARP_INVERSE_MAP と warpAffine または warpPerspective を利用します.この関数の使用方法を示す OpenCV のサンプル image_alignment.cpp も参照してください.他にも,ocomputeECC, estimateAffine2D, estimateAffinePartial2D, findHomographyExamples: samples/cpp/image_alignment.cpp を参照してください. 元関数名(C#): video_findTransformECC2 元DLLエクスポート名: video_findTransformECC2 参照元CSファイル: Internal\PInvoke\NativeMethods\video\NativeMethods_video_tracking.cs ▼ C言語側関数定義
CVAPI(ExceptionStatus) video_findTransformECC2( cv::_InputArray *templateImage, cv::_InputArray *inputImage, cv::_InputOutputArray *warpMatrix, int motionType, MyCvTermCriteria criteria, cv::_InputArray *inputMask, double* returnValue) { BEGIN_WRAP *returnValue = cv::findTransformECC( *templateImage, *inputImage, *warpMatrix, motionType, cpp(criteria), entity(inputMask)); END_WRAP }
プラグイン / モジュール | OpenCvSharpExtern.dll |
バージョン | 1.00 |
作成日 | 2021/11/30 |
著作者 | inovia |
URL | https://hsp.moe/ |
備考 | #include "OpenCvSharpExtern32.as"
#include "OpenCvSharpExtern64.as" 使用するHSPランタイムのビット数に合わせたインクルードファイルを使用すること |
タイプ | OpenCVSharpラッパーDLL |
グループ | NativeMethods_video_tracking |
対応環境 |
|
hs ファイル | hsphelp\OpenCvSharpExtern.hs |