imgproc_EMD

[32/64bit] 2つの重み付けされた点構成の間の「最小作業」距離を計算します。

imgproc_EMD p1,p2,p3,p4,p5,p6,p7

p1 = sptr : IntPtr signature1
p2 = sptr : IntPtr signature2
p3 = int : int distType
p4 = sptr : IntPtr cost
p5 = var : out float lowerBound
p6 = sptr : IntPtr flow
p7 = var : out float returnValue

(プラグイン / モジュール : OpenCvSharpExtern.dll)

解説

この関数は,地球移動距離と,2つの重み付けされた点群間の距離の下限値を計算します.207],[208]に記載されている応用例の1つに,画像検索のための多次元ヒストグラム比較があります.EMDは、シンプレックスアルゴリズムの修正を用いて解決される輸送問題であるため、複雑さは最悪のケースで指数関数的になりますが、平均的にははるかに高速です。実際のメトリックの場合、下側の境界は(線形時間アルゴリズムを使用して)さらに高速に計算でき、2つのシグネチャが同じオブジェクトに関連しないほど離れているかどうかを大まかに判断するのに使用できます。

元関数名(C#): imgproc_EMD
元DLLエクスポート名: imgproc_EMD
参照元CSファイル: Internal\PInvoke\NativeMethods\imgproc\NativeMethods_imgproc.cs
▼ C言語側関数定義
CVAPI(ExceptionStatus) imgproc_EMD(cv::_InputArray *signature1, cv::_InputArray *signature2,
                         int distType, cv::_InputArray *cost, float* lowerBound, cv::_OutputArray *flow, float* returnValue)
{
    BEGIN_WRAP
    *returnValue = cv::EMD(*signature1, *signature2, distType, entity(cost), lowerBound, entity(flow));
    END_WRAP
}

情報

プラグイン / モジュールOpenCvSharpExtern.dll
バージョン1.00
作成日2021/11/30
著作者inovia
URLhttps://hsp.moe/
備考#include "OpenCvSharpExtern32.as"
#include "OpenCvSharpExtern64.as"
使用するHSPランタイムのビット数に合わせたインクルードファイルを使用すること
タイプOpenCVSharpラッパーDLL
グループNativeMethods_imgproc
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\OpenCvSharpExtern.hs