aruco_drawDetectedMarkers

[32bit] 検出されたマーカーを画像に描画します.

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

p1 = sptr : IntPtr image
p2 = sptr : [MarshalAs(UnmanagedType.LPArray)] IntPtr[] corners
p3 = int : int cornerSize1
p4 = var : int[] contoursSize2
p5 = var : [MarshalAs(UnmanagedType.LPArray)] int[] ids
p6 = int : int idxLength
p7 = ARGS_SCALAR : Scalar borderColor

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

解説

検出されたマーカーコーナーの配列と,それに対応する ID が与えられると,この関数は,画像中にマーカーを描画します.マーカーの境界が描画され,マーカーの識別子が与えられていればそれも描画されます.デバッグ用に便利です。

元関数名(C#): aruco_drawDetectedMarkers
元DLLエクスポート名: aruco_drawDetectedMarkers
参照元CSファイル: Internal\PInvoke\NativeMethods\NativeMethods_aruco.cs
▼ C言語側関数定義
CVAPI(ExceptionStatus) aruco_drawDetectedMarkers(
    cv::_InputOutputArray *image,
    cv::Point2f **corners,
    int cornerSize1,
    int *cornerSize2,
    int *idx, int idxCount, MyCvScalar borderColor)
{
    BEGIN_WRAP
    std::vector< std::vector<cv::Point2f> > cornerVec(cornerSize1);
    std::vector<int> idxVec;

    for (int i = 0; i < cornerSize1; i++)
        cornerVec[i] = std::vector<cv::Point2f>(corners[i], corners[i] + cornerSize2[i]);
    if (idx != nullptr)
        idxVec = std::vector<int>(idx, idx + idxCount);

    cv::aruco::drawDetectedMarkers(*image, cornerVec, idxVec, cpp(borderColor));
    END_WRAP
}

情報

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