🤖 AIによる機械翻訳(非公式) — これは OpenCV 5.0.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。

Class CharucoDetector


  • public class CharucoDetector
    extends Algorithm
    • コンストラクタの詳細

      • CharucoDetector

        protected CharucoDetector​(long addr)
      • CharucoDetector

        public CharucoDetector​(CharucoBoard board,
                               CharucoParameters charucoParams,
                               DetectorParameters detectorParams,
                               RefineParameters refineParams)
        Basic CharucoDetector constructor
        引数:
        board - ChArUcoボード
        charucoParams - charuco検出引数
        detectorParams - マーカー検出の引数
        refineParams - マーカーのリファイン検出の引数
      • CharucoDetector

        public CharucoDetector​(CharucoBoard board,
                               CharucoParameters charucoParams,
                               DetectorParameters detectorParams)
        Basic CharucoDetector constructor
        引数:
        board - ChArUcoボード
        charucoParams - charuco検出引数
        detectorParams - マーカー検出の引数
      • CharucoDetector

        public CharucoDetector​(CharucoBoard board,
                               CharucoParameters charucoParams)
        Basic CharucoDetector constructor
        引数:
        board - ChArUcoボード
        charucoParams - charuco検出引数
      • CharucoDetector

        public CharucoDetector​(CharucoBoard board)
        Basic CharucoDetector constructor
        引数:
        board - ChArUcoボード
    • メソッドの詳細

      • setCharucoParameters

        public void setCharucoParameters​(CharucoParameters charucoParameters)
      • setDetectorParameters

        public void setDetectorParameters​(DetectorParameters detectorParameters)
      • setRefineParameters

        public void setRefineParameters​(RefineParameters refineParameters)
      • detectBoard

        public void detectBoard​(Mat image,
                                Mat charucoCorners,
                                Mat charucoIds,
                                java.util.List<Mat> markerCorners,
                                Mat markerIds)
        detect aruco markers and interpolate position of ChArUco board corners
        引数:
        image - コーナーの高精度化に必要な入力画像。マーカーは検出されないため、corners引数とids引数で渡す必要があることに注意。
        charucoCorners - 補間されたチェスボードコーナー。
        charucoIds - 補間されたチェスボードコーナーの識別子。
        markerCorners - すでに検出されたマーカーコーナーのベクトル。各マーカーについて4つのコーナーが与えられる(例: std::vector<std::vector<cv::Point2f> > )。N個のマーカーが検出された場合、この配列の次元はNx4であるべきである。コーナーの順序は時計回りであるべきである。markerCornersおよびmarkerCornersが空の場合、この関数はarucoマーカーとidを検出する。
        markerIds - corners内の各マーカーの識別子のリスト。markerCornersおよびmarkerCornersが空の場合、この関数はarucoマーカーとidを検出する。この関数は検出されたマーカーを受け取り、検出されたArUcoマーカーを使ってChArUcoボードのチェスボードコーナーの2D位置を返す。markerCornersおよびmarkerCornersが空の場合、detectMarkers()が実行されてarucoマーカーとidを検出する。カメラ引数が与えられている場合、処理は近似的な姿勢推定に基づき、そうでない場合は局所的なホモグラフィに基づく。可視のコーナーのみが返される。各コーナーについて、対応する識別子もcharucoIdsに返される。参照: findChessboardCorners 注意: OpenCV 4.6.0以降、偶数行数におけるChArUcoパターン生成アルゴリズムに非互換な変更があった。OpenCV 4.6.0より前のバージョンで作成されたパターンとの互換性を確保するには、cv::aruco::CharucoBoard::setLegacyPattern()を使用すること。詳細はこのissueを参照: https://github.com/opencv/opencv/issues/23152
      • detectBoard

        public void detectBoard​(Mat image,
                                Mat charucoCorners,
                                Mat charucoIds,
                                java.util.List<Mat> markerCorners)
        detect aruco markers and interpolate position of ChArUco board corners
        引数:
        image - コーナーの高精度化に必要な入力画像。マーカーは検出されないため、corners引数とids引数で渡す必要があることに注意。
        charucoCorners - 補間されたチェスボードコーナー。
        charucoIds - 補間されたチェスボードコーナーの識別子。
        markerCorners - すでに検出されたマーカーコーナーのベクトル。各マーカーについて4つのコーナーが与えられる(例: std::vector<std::vector<cv::Point2f> > )。N個のマーカーが検出された場合、この配列の次元はNx4であるべきである。コーナーの順序は時計回りであるべきである。markerCornersおよびmarkerCornersが空の場合、この関数はarucoマーカーとidを検出する。markerCornersおよびmarkerCornersが空の場合、この関数はarucoマーカーとidを検出する。この関数は検出されたマーカーを受け取り、検出されたArUcoマーカーを使ってChArUcoボードのチェスボードコーナーの2D位置を返す。markerCornersおよびmarkerCornersが空の場合、detectMarkers()が実行されてarucoマーカーとidを検出する。カメラ引数が与えられている場合、処理は近似的な姿勢推定に基づき、そうでない場合は局所的なホモグラフィに基づく。可視のコーナーのみが返される。各コーナーについて、対応する識別子もcharucoIdsに返される。参照: findChessboardCorners 注意: OpenCV 4.6.0以降、偶数行数におけるChArUcoパターン生成アルゴリズムに非互換な変更があった。OpenCV 4.6.0より前のバージョンで作成されたパターンとの互換性を確保するには、cv::aruco::CharucoBoard::setLegacyPattern()を使用すること。詳細はこのissueを参照: https://github.com/opencv/opencv/issues/23152
      • detectBoard

        public void detectBoard​(Mat image,
                                Mat charucoCorners,
                                Mat charucoIds)
        detect aruco markers and interpolate position of ChArUco board corners
        引数:
        image - コーナーの高精度化に必要な入力画像。マーカーは検出されないため、corners引数とids引数で渡す必要があることに注意。
        charucoCorners - 補間されたチェスボードコーナー。
        charucoIds - 補間されたチェスボードコーナーの識別子。各マーカーについて4つのコーナーが与えられる(例: std::vector<std::vector<cv::Point2f> > )。N個のマーカーが検出された場合、この配列の次元はNx4であるべきである。コーナーの順序は時計回りであるべきである。markerCornersおよびmarkerCornersが空の場合、この関数はarucoマーカーとidを検出する。markerCornersおよびmarkerCornersが空の場合、この関数はarucoマーカーとidを検出する。この関数は検出されたマーカーを受け取り、検出されたArUcoマーカーを使ってChArUcoボードのチェスボードコーナーの2D位置を返す。markerCornersおよびmarkerCornersが空の場合、detectMarkers()が実行されてarucoマーカーとidを検出する。カメラ引数が与えられている場合、処理は近似的な姿勢推定に基づき、そうでない場合は局所的なホモグラフィに基づく。可視のコーナーのみが返される。各コーナーについて、対応する識別子もcharucoIdsに返される。参照: findChessboardCorners 注意: OpenCV 4.6.0以降、偶数行数におけるChArUcoパターン生成アルゴリズムに非互換な変更があった。OpenCV 4.6.0より前のバージョンで作成されたパターンとの互換性を確保するには、cv::aruco::CharucoBoard::setLegacyPattern()を使用すること。詳細はこのissueを参照: https://github.com/opencv/opencv/issues/23152
      • detectDiamonds

        public void detectDiamonds​(Mat image,
                                   java.util.List<Mat> diamondCorners,
                                   Mat diamondIds,
                                   java.util.List<Mat> markerCorners,
                                   Mat markerIds)
        Detect ChArUco Diamond markers
        引数:
        image - コーナーのサブピクセル処理に必要な入力画像。
        diamondCorners - 検出されたダイヤモンドコーナーの出力リスト(ダイヤモンドごとに4コーナー)。順序はマーカーコーナーと同じで、左上、右上、右下、左下。detectMarkersが返すコーナーと同様の形式(例: std::vector<std::vector<cv::Point2f> > )。
        diamondIds - diamondCorners内のダイヤモンドのID。各ダイヤモンドのIDは実際にはVec4i型であり、各ダイヤモンドは4つのIDを持つ。これらはダイヤモンドを構成するarucoマーカーのIDである。
        markerCorners - detectMarkers関数で検出されたマーカーコーナーのリスト。markerCornersおよびmarkerCornersが空の場合、この関数はarucoマーカーとidを検出する。
        markerIds - markerCorners内のマーカーidのリスト。markerCornersおよびmarkerCornersが空の場合、この関数はarucoマーカーとidを検出する。この関数は、以前に検出されたArUcoマーカーからDiamondマーカーを検出する。diamondはdiamondCorners引数およびdiamondIds引数で返される。カメラキャリブレーション引数が与えられている場合、diamond探索は再投影に基づく。そうでない場合、diamond探索はホモグラフィに基づく。ホモグラフィは再投影より高速だが精度は低い。
      • detectDiamonds

        public void detectDiamonds​(Mat image,
                                   java.util.List<Mat> diamondCorners,
                                   Mat diamondIds,
                                   java.util.List<Mat> markerCorners)
        Detect ChArUco Diamond markers
        引数:
        image - コーナーのサブピクセル処理に必要な入力画像。
        diamondCorners - 検出されたダイヤモンドコーナーの出力リスト(ダイヤモンドごとに4コーナー)。順序はマーカーコーナーと同じで、左上、右上、右下、左下。detectMarkersが返すコーナーと同様の形式(例: std::vector<std::vector<cv::Point2f> > )。
        diamondIds - diamondCorners内のダイヤモンドのID。各ダイヤモンドのIDは実際にはVec4i型であり、各ダイヤモンドは4つのIDを持つ。これらはダイヤモンドを構成するarucoマーカーのIDである。
        markerCorners - detectMarkers関数で検出されたマーカーコーナーのリスト。markerCornersおよびmarkerCornersが空の場合、この関数はarucoマーカーとidを検出する。markerCornersおよびmarkerCornersが空の場合、この関数はarucoマーカーとidを検出する。この関数は、以前に検出されたArUcoマーカーからDiamondマーカーを検出する。diamondはdiamondCorners引数およびdiamondIds引数で返される。カメラキャリブレーション引数が与えられている場合、diamond探索は再投影に基づく。そうでない場合、diamond探索はホモグラフィに基づく。ホモグラフィは再投影より高速だが精度は低い。
      • detectDiamonds

        public void detectDiamonds​(Mat image,
                                   java.util.List<Mat> diamondCorners,
                                   Mat diamondIds)
        Detect ChArUco Diamond markers
        引数:
        image - コーナーのサブピクセル処理に必要な入力画像。
        diamondCorners - 検出されたダイヤモンドコーナーの出力リスト(ダイヤモンドごとに4コーナー)。順序はマーカーコーナーと同じで、左上、右上、右下、左下。detectMarkersが返すコーナーと同様の形式(例: std::vector<std::vector<cv::Point2f> > )。
        diamondIds - diamondCorners内のdiamondのid。各diamondのidは実際にはVec4i型であり、各diamondは4つのidを持つ。これらはdiamondを構成するarucoマーカーのidである。markerCornersおよびmarkerCornersが空の場合、この関数はarucoマーカーとidを検出する。markerCornersおよびmarkerCornersが空の場合、この関数はarucoマーカーとidを検出する。この関数は、以前に検出されたArUcoマーカーからDiamondマーカーを検出する。diamondはdiamondCorners引数およびdiamondIds引数で返される。カメラキャリブレーション引数が与えられている場合、diamond探索は再投影に基づく。そうでない場合、diamond探索はホモグラフィに基づく。ホモグラフィは再投影より高速だが精度は低い。