calib3d_findCirclesGrid_vector

[32/64bit] グリッド上の円の中心を見つけます。

calib3d_findCirclesGrid_vector p1,p2,p3,p4,p5,p6

p1 = sptr : IntPtr image
p2 = ARGS_SIZE : Size patternSize
p3 = sptr : IntPtr centers
p4 = int : int flags
p5 = sptr : IntPtr blobDetector
p6 = var : out int returnValue

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

解説

この関数は,入力画像に格子状の円が含まれているかどうかを調べます.この関数は,入力画像に格子状の円が含まれているかどうかを判定し,含まれている場合は,その円の中心を求めます.この関数は,すべての円の中心が見つかり,それらが一定の順序(行ごとに左から右へ)で配置されていれば,0以外の値を返します.そうでない場合,この関数がすべての角を見つけられなかったり,並べ替えることができなかったりすると,0を返します. 円の中心を検出して描画するサンプルの使い方:Size patternsize(7,7); //中心の数Mat gray = ...; //ソース imageevector<Point2f> centers; //これは,検出された中心で埋められますbool patternfound = findCirclesGrid(gray, patternsize, centers);drawChessboardCorners(img, patternsize, Mat(centres), patternfound);fragmentNoteこの関数は,様々な環境下で検出をより確実なものにするために,ボードの周囲にホワイトスペース(四角い厚さの境界線のようなもの,広ければ広いほど良い)を必要とします.

元関数名(C#): calib3d_findCirclesGrid_vector
元DLLエクスポート名: calib3d_findCirclesGrid_vector
参照元CSファイル: Internal\PInvoke\NativeMethods\calib3d\NativeMethods_calib3d.cs
▼ C言語側関数定義
CVAPI(ExceptionStatus) calib3d_findCirclesGrid_vector(
    cv::_InputArray *image, MyCvSize patternSize,
    std::vector<cv::Point2f> *centers, int flags, cv::FeatureDetector* blobDetector,
    int *returnValue)
{
    BEGIN_WRAP
    if (blobDetector == nullptr)
    {
        *returnValue = cv::findCirclesGrid(*image, cpp(patternSize), *centers, flags) ? 1 : 0;
    }
    else
    {
        const cv::Ptr<cv::FeatureDetector> detectorPtr(blobDetector, BlobDetectorDeleter); // don't delete
        *returnValue = cv::findCirclesGrid(*image, cpp(patternSize), *centers, flags, detectorPtr) ? 1 : 0;
    }
    END_WRAP
}

情報

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