[32/64bit] ChArUcoダイヤモンドマーカーを検出します。
aruco_detectCharucoDiamond p1,p2,p3,p4,p5,p6,p7,p8,p9,p10
p1 = sptr : IntPtr image p2 = sptr : [MarshalAs(UnmanagedType.LPArray)] IntPtr[] markerCorners p3 = int : int markerCornersSize1 p4 = var : int[] markerCornersSize2 p5 = sptr : IntPtr markerIds p6 = float : float squareMarkerLengthRate p7 = sptr : IntPtr diamondCorners p8 = sptr : IntPtr diamondIds p9 = sptr : IntPtr cameraMatrix p10 = sptr : IntPtr distCoeffs
(プラグイン / モジュール : OpenCvSharpExtern.dll)
この関数は,以前に検出されたアルコマーカからダイアモンドマーカを検出します.ダイアモンドは, diamondCorners と diamondIds パラメータで返されます.カメラのキャリブレーションパラメータが提供されている場合、ダイヤモンドの探索は再投影に基づいて行われます。提供されていない場合は、ホモグラフィーに基づいてダイヤモンドを探索します。ホモグラフィーはリプロジェクションよりも高速ですが、検出率が若干低下します。 元関数名(C#): aruco_detectCharucoDiamond 元DLLエクスポート名: aruco_detectCharucoDiamond 参照元CSファイル: Internal\PInvoke\NativeMethods\NativeMethods_aruco.cs ▼ C言語側関数定義
CVAPI(ExceptionStatus) aruco_detectCharucoDiamond( cv::_InputArray *image, cv::Point2f **markerCorners, int markerCornersSize1, int *markerCornersSize2, std::vector<int> *markerIds, float squareMarkerLengthRate, std::vector< std::vector<cv::Point2f> > *diamondCorners, std::vector<cv::Vec4i> *diamondIds, cv::_InputArray *cameraMatrix, cv::_InputArray *distCoeffs) { BEGIN_WRAP std::vector< std::vector<cv::Point2f> > markerCornerVec(markerCornersSize1); for (int i = 0; i < markerCornersSize1; i++) markerCornerVec[i] = std::vector<cv::Point2f>(markerCorners[i], markerCorners[i] + markerCornersSize2[i]); cv::aruco::detectCharucoDiamond(*image, markerCornerVec, *markerIds, squareMarkerLengthRate, *diamondCorners, *diamondIds, entity(cameraMatrix), entity(distCoeffs)); END_WRAP }
プラグイン / モジュール | OpenCvSharpExtern.dll |
バージョン | 1.00 |
作成日 | 2021/11/30 |
著作者 | inovia |
URL | https://hsp.moe/ |
備考 | #include "OpenCvSharpExtern32.as"
#include "OpenCvSharpExtern64.as" 使用するHSPランタイムのビット数に合わせたインクルードファイルを使用すること |
タイプ | OpenCVSharpラッパーDLL |
グループ | NativeMethods_aruco |
対応環境 |
|
hs ファイル | hsphelp\OpenCvSharpExtern.hs |