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

クラス Objdetect


  • public class Objdetect
    extends java.lang.Object
    • コンストラクタの詳細

      • Objdetect

        public Objdetect()
    • メソッドの詳細

      • findChessboardCorners

        public static boolean findChessboardCorners​(Mat image,
                                                    Size patternSize,
                                                    MatOfPoint2f corners,
                                                    int flags)
        Finds the positions of internal corners of the chessboard.
        引数:
        image - 入力チェスボードビュー。8ビットのグレースケールまたはカラー画像でなければならない。
        patternSize - チェスボードの行および列ごとの内部コーナーの数 ( patternSize = cv::Size(points_per_row,points_per_column) = cv::Size(columns,rows) )。
        corners - 検出されたコーナーの出力配列。
        flags - Various operation flags that can be zero or a combination of the following values:
        • REF: CALIB_CB_ADAPTIVE_THRESH 固定しきい値レベル(平均画像輝度から計算される)ではなく、適応的しきい値処理を使用して画像を白黒に変換する。
        • REF: CALIB_CB_NORMALIZE_IMAGE 固定しきい値処理または適応しきい値処理を適用する前に、equalizeHist で画像のガンマを正規化する。
        • REF: CALIB_CB_FILTER_QUADS 追加の基準(輪郭面積、周囲長、正方形に近い形状など)を使用して、輪郭検出段階で抽出された誤った四角形を除外する。
        • REF: CALIB_CB_FAST_CHECK 画像に対してチェスボードコーナーを探す高速チェックを実行し、見つからなければ呼び出しを打ち切る。これにより、チェスボードが観測されない退化条件において、呼び出しを劇的に高速化できる。
        • REF: CALIB_CB_PLAIN 他のすべてのフラグは無視される。入力画像はそのまま使用される。チェッカーボードを見つけやすくするための画像処理は行われない。これにより関数の実行が高速化されるが、画像が事前に適切な方法で二値化されていない場合、チェッカーボードを認識できなくなる可能性がある。
        戻り値:
        すべてのコーナーが検出され、一定の順序(行ごとに、各行で左から右へ)で配置された場合は true を返す。それ以外の場合、つまり関数がすべてのコーナーを検出できなかったり並べ替えられなかったりした場合は false を返す。この関数は、入力画像がチェスボードパターンを写したものかどうかを判定し、内部チェスボードコーナーの位置を特定しようとする。例えば、通常のチェスボードは 8 x 8 のマス目を持ち、内部コーナーは 7 x 7 個、すなわち黒いマス目同士が接する点となる。検出される座標は近似値であり、その位置をより正確に求めるために、この関数は #cornerSubPix を呼び出す。返された座標の精度が十分でない場合は、異なる引数で #cornerSubPix 関数を使用してもよい。チェスボードコーナーの検出と描画の使用例: : Size patternsize(8,6); //interior number of corners Mat gray = ....; //source image vector<Point2f> corners; //this will be filled by the detected corners //CALIB_CB_FAST_CHECK saves a lot of time on images //that do not contain any chessboard corners bool patternfound = findChessboardCorners(gray, patternsize, corners, CALIB_CB_ADAPTIVE_THRESH + CALIB_CB_NORMALIZE_IMAGE + CALIB_CB_FAST_CHECK); if(patternfound) cornerSubPix(gray, corners, Size(11, 11), Size(-1, -1), TermCriteria(CV_TERMCRIT_EPS + CV_TERMCRIT_ITER, 30, 0.1)); drawChessboardCorners(img, patternsize, Mat(corners), patternfound); 注意: この関数は、さまざまな環境で検出をより堅牢にするために、ボードの周囲に余白(正方形の太い境界など。広いほどよい)を必要とする。さもなければ、境界がなく背景が暗い場合、外側の黒いマス目を適切に領域分割できず、マス目のグループ化と並べ替えのアルゴリズムが失敗する。目的のチェッカーボードパターンを作成するには、generate_pattern.py Python スクリプト (REF: tutorial_camera_calibration_pattern) を使用する。
      • findChessboardCorners

        public static boolean findChessboardCorners​(Mat image,
                                                    Size patternSize,
                                                    MatOfPoint2f corners)
        Finds the positions of internal corners of the chessboard.
        引数:
        image - 入力チェスボードビュー。8ビットのグレースケールまたはカラー画像でなければならない。
        patternSize - チェスボードの行および列ごとの内部コーナーの数 ( patternSize = cv::Size(points_per_row,points_per_column) = cv::Size(columns,rows) )。
        corners - Output array of detected corners.
        • REF: CALIB_CB_ADAPTIVE_THRESH 固定しきい値レベル(平均画像輝度から計算される)ではなく、適応的しきい値処理を使用して画像を白黒に変換する。
        • REF: CALIB_CB_NORMALIZE_IMAGE 固定しきい値処理または適応しきい値処理を適用する前に、equalizeHist で画像のガンマを正規化する。
        • REF: CALIB_CB_FILTER_QUADS 追加の基準(輪郭面積、周囲長、正方形に近い形状など)を使用して、輪郭検出段階で抽出された誤った四角形を除外する。
        • REF: CALIB_CB_FAST_CHECK 画像に対してチェスボードコーナーを探す高速チェックを実行し、見つからなければ呼び出しを打ち切る。これにより、チェスボードが観測されない退化条件において、呼び出しを劇的に高速化できる。
        • REF: CALIB_CB_PLAIN 他のすべてのフラグは無視される。入力画像はそのまま使用される。チェッカーボードを見つけやすくするための画像処理は行われない。これにより関数の実行が高速化されるが、画像が事前に適切な方法で二値化されていない場合、チェッカーボードを認識できなくなる可能性がある。
        戻り値:
        すべてのコーナーが検出され、一定の順序(行ごとに、各行で左から右へ)で配置された場合は true を返す。それ以外の場合、つまり関数がすべてのコーナーを検出できなかったり並べ替えられなかったりした場合は false を返す。この関数は、入力画像がチェスボードパターンを写したものかどうかを判定し、内部チェスボードコーナーの位置を特定しようとする。例えば、通常のチェスボードは 8 x 8 のマス目を持ち、内部コーナーは 7 x 7 個、すなわち黒いマス目同士が接する点となる。検出される座標は近似値であり、その位置をより正確に求めるために、この関数は #cornerSubPix を呼び出す。返された座標の精度が十分でない場合は、異なる引数で #cornerSubPix 関数を使用してもよい。チェスボードコーナーの検出と描画の使用例: : Size patternsize(8,6); //interior number of corners Mat gray = ....; //source image vector<Point2f> corners; //this will be filled by the detected corners //CALIB_CB_FAST_CHECK saves a lot of time on images //that do not contain any chessboard corners bool patternfound = findChessboardCorners(gray, patternsize, corners, CALIB_CB_ADAPTIVE_THRESH + CALIB_CB_NORMALIZE_IMAGE + CALIB_CB_FAST_CHECK); if(patternfound) cornerSubPix(gray, corners, Size(11, 11), Size(-1, -1), TermCriteria(CV_TERMCRIT_EPS + CV_TERMCRIT_ITER, 30, 0.1)); drawChessboardCorners(img, patternsize, Mat(corners), patternfound); 注意: この関数は、さまざまな環境で検出をより堅牢にするために、ボードの周囲に余白(正方形の太い境界など。広いほどよい)を必要とする。さもなければ、境界がなく背景が暗い場合、外側の黒いマス目を適切に領域分割できず、マス目のグループ化と並べ替えのアルゴリズムが失敗する。目的のチェッカーボードパターンを作成するには、generate_pattern.py Python スクリプト (REF: tutorial_camera_calibration_pattern) を使用する。
      • checkChessboard

        public static boolean checkChessboard​(Mat img,
                                              Size size)
        Checks whether the image contains chessboard of the specific size or not.
        引数:
        img - チェスボードを写した元画像。
        size - チェスボードのサイズ。
        戻り値:
        チェスボードが見つかったかどうか。
      • findChessboardCornersSBWithMeta

        public static boolean findChessboardCornersSBWithMeta​(Mat image,
                                                              Size patternSize,
                                                              Mat corners,
                                                              int flags,
                                                              Mat meta)
        Finds the positions of internal corners of the chessboard using a sector based approach.
        引数:
        image - 入力チェスボードビュー。8ビットのグレースケールまたはカラー画像でなければならない。
        patternSize - チェスボードの行および列ごとの内部コーナーの数 ( patternSize = cv::Size(points_per_row,points_per_column) = cv::Size(columns,rows) )。
        corners - 検出されたコーナーの出力配列。
        flags - Various operation flags that can be zero or a combination of the following values:
        • REF: CALIB_CB_NORMALIZE_IMAGE 検出前に equalizeHist で画像ガンマを正規化する。
        • REF: CALIB_CB_EXHAUSTIVE 検出率を向上させるために全数探索を実行する。
        • REF: CALIB_CB_ACCURACY エイリアシング効果によるサブピクセル精度を向上させるために、入力画像をアップサンプリングする。
        • REF: CALIB_CB_LARGER 検出されたパターンが patternSize より大きくなることを許可する(説明を参照)。
        • REF: CALIB_CB_MARKER 検出されたパターンはマーカーを持たなければならない(説明を参照)。正確なカメラキャリブレーションが必要な場合に使用すべきである。
        meta - Optional output array of detected corners (CV_8UC1 and size = cv::Size(columns,rows)). Each entry stands for one corner of the pattern and can have one of the following values:
        • 0 = メタデータが付与されていない
        • 1 = 黒いセルの左上コーナー
        • 2 = 白いセルの左上コーナー
        • 3 = 白いマーカードットを持つ黒いセルの左上コーナー
        • 4 = 黒いマーカードットを持つ白いセルの左上コーナー(マーカーがある場合はパターンの原点、ない場合は最初のコーナー)
        The function is analog to #findChessboardCorners but uses a localized radon transformation approximated by box filters being more robust to all sort of noise, faster on larger images and is able to directly return the sub-pixel position of the internal chessboard corners. The Method is based on the paper CITE: duda2018 "Accurate Detection and Localization of Checkerboard Corners for Calibration" demonstrating that the returned sub-pixel positions are more accurate than the one returned by cornerSubPix allowing a precise camera calibration for demanding applications. In the case, the flags REF: CALIB_CB_LARGER or REF: CALIB_CB_MARKER are given, the result can be recovered from the optional meta array. Both flags are helpful to use calibration patterns exceeding the field of view of the camera. These oversized patterns allow more accurate calibrations as corners can be utilized, which are as close as possible to the image borders. For a consistent coordinate system across all images, the optional marker (see image below) can be used to move the origin of the board to the location where the black circle is located. 覚え書き: The function requires a white boarder with roughly the same width as one of the checkerboard fields around the whole board to improve the detection in various environments. In addition, because of the localized radon transformation it is beneficial to use round corners for the field corners which are located on the outside of the board. The following figure illustrates a sample checkerboard optimized for the detection. However, any other checkerboard can be used as well. Use the generate_pattern.py Python script (REF: tutorial_camera_calibration_pattern) to create the corresponding checkerboard pattern: \image html pics/checkerboard_radon.png width=60%
        戻り値:
        自動生成
      • findChessboardCornersSB

        public static boolean findChessboardCornersSB​(Mat image,
                                                      Size patternSize,
                                                      Mat corners,
                                                      int flags)
      • findChessboardCornersSB

        public static boolean findChessboardCornersSB​(Mat image,
                                                      Size patternSize,
                                                      Mat corners)
      • estimateChessboardSharpness

        public static Scalar estimateChessboardSharpness​(Mat image,
                                                         Size patternSize,
                                                         Mat corners,
                                                         float rise_distance,
                                                         boolean vertical,
                                                         Mat sharpness)
        Estimates the sharpness of a detected chessboard. Image sharpness, as well as brightness, are a critical parameter for accuracte camera calibration. For accessing these parameters for filtering out problematic calibraiton images, this method calculates edge profiles by traveling from black to white chessboard cell centers. Based on this, the number of pixels is calculated required to transit from black to white. This width of the transition area is a good indication of how sharp the chessboard is imaged and should be below ~3.0 pixels.
        引数:
        image - チェスボードコーナーを見つけるために使用されるグレー画像
        patternSize - 見つかったチェスボードパターンのサイズ
        corners - #findChessboardCornersSB で見つかったコーナー
        rise_distance - 立ち上がり距離。0.8 は最終信号強度の10% ... 90% を意味する
        vertical - デフォルトでは水平線に対するエッジ応答が計算される
        sharpness - 計算されたエッジ応答の鮮鋭度値を含む省略可能な出力配列(説明を参照)。省略可能な sharpness 配列は型 CV_32FC1 で、計算された各プロファイルについて以下の5つのエントリを持つ1行を含む: 0 = 画像内の基となるエッジのx座標 1 = 画像内の基となるエッジのy座標 2 = 遷移領域の幅(鮮鋭度) 3 = 黒セルの信号強度(最小輝度) 4 = 白セルの信号強度(最大輝度)
        戻り値:
        Scalar(平均鮮鋭度, 平均最小輝度, 平均最大輝度,0)
      • estimateChessboardSharpness

        public static Scalar estimateChessboardSharpness​(Mat image,
                                                         Size patternSize,
                                                         Mat corners,
                                                         float rise_distance,
                                                         boolean vertical)
        Estimates the sharpness of a detected chessboard. Image sharpness, as well as brightness, are a critical parameter for accuracte camera calibration. For accessing these parameters for filtering out problematic calibraiton images, this method calculates edge profiles by traveling from black to white chessboard cell centers. Based on this, the number of pixels is calculated required to transit from black to white. This width of the transition area is a good indication of how sharp the chessboard is imaged and should be below ~3.0 pixels.
        引数:
        image - チェスボードコーナーを見つけるために使用されるグレー画像
        patternSize - 見つかったチェスボードパターンのサイズ
        corners - #findChessboardCornersSB で見つかったコーナー
        rise_distance - 立ち上がり距離。0.8 は最終信号強度の10% ... 90% を意味する
        vertical - デフォルトでは水平線に対するエッジ応答が計算される。省略可能な sharpness 配列は型 CV_32FC1 で、計算された各プロファイルについて以下の5つのエントリを持つ1行を含む: 0 = 画像内の基となるエッジのx座標 1 = 画像内の基となるエッジのy座標 2 = 遷移領域の幅(鮮鋭度) 3 = 黒セルの信号強度(最小輝度) 4 = 白セルの信号強度(最大輝度)
        戻り値:
        Scalar(平均鮮鋭度, 平均最小輝度, 平均最大輝度,0)
      • estimateChessboardSharpness

        public static Scalar estimateChessboardSharpness​(Mat image,
                                                         Size patternSize,
                                                         Mat corners,
                                                         float rise_distance)
        Estimates the sharpness of a detected chessboard. Image sharpness, as well as brightness, are a critical parameter for accuracte camera calibration. For accessing these parameters for filtering out problematic calibraiton images, this method calculates edge profiles by traveling from black to white chessboard cell centers. Based on this, the number of pixels is calculated required to transit from black to white. This width of the transition area is a good indication of how sharp the chessboard is imaged and should be below ~3.0 pixels.
        引数:
        image - チェスボードコーナーを見つけるために使用されるグレー画像
        patternSize - 見つかったチェスボードパターンのサイズ
        corners - #findChessboardCornersSB で見つかったコーナー
        rise_distance - 立ち上がり距離。0.8 は最終信号強度の10% ... 90% を意味する。省略可能な sharpness 配列は型 CV_32FC1 で、計算された各プロファイルについて以下の5つのエントリを持つ1行を含む: 0 = 画像内の基となるエッジのx座標 1 = 画像内の基となるエッジのy座標 2 = 遷移領域の幅(鮮鋭度) 3 = 黒セルの信号強度(最小輝度) 4 = 白セルの信号強度(最大輝度)
        戻り値:
        Scalar(平均鮮鋭度, 平均最小輝度, 平均最大輝度,0)
      • estimateChessboardSharpness

        public static Scalar estimateChessboardSharpness​(Mat image,
                                                         Size patternSize,
                                                         Mat corners)
        Estimates the sharpness of a detected chessboard. Image sharpness, as well as brightness, are a critical parameter for accuracte camera calibration. For accessing these parameters for filtering out problematic calibraiton images, this method calculates edge profiles by traveling from black to white chessboard cell centers. Based on this, the number of pixels is calculated required to transit from black to white. This width of the transition area is a good indication of how sharp the chessboard is imaged and should be below ~3.0 pixels.
        引数:
        image - チェスボードコーナーを見つけるために使用されるグレー画像
        patternSize - 見つかったチェスボードパターンのサイズ
        corners - #findChessboardCornersSB で見つかったコーナー。省略可能な sharpness 配列は型 CV_32FC1 で、計算された各プロファイルについて以下の5つのエントリを持つ1行を含む: 0 = 画像内の基となるエッジのx座標 1 = 画像内の基となるエッジのy座標 2 = 遷移領域の幅(鮮鋭度) 3 = 黒セルの信号強度(最小輝度) 4 = 白セルの信号強度(最大輝度)
        戻り値:
        Scalar(平均鮮鋭度, 平均最小輝度, 平均最大輝度,0)
      • find4QuadCornerSubpix

        public static boolean find4QuadCornerSubpix​(Mat img,
                                                    Mat corners,
                                                    Size region_size)
      • drawChessboardCorners

        public static void drawChessboardCorners​(Mat image,
                                                 Size patternSize,
                                                 MatOfPoint2f corners,
                                                 boolean patternWasFound)
        Renders the detected chessboard corners.
        引数:
        image - 出力先画像。8ビットのカラー画像でなければならない。
        patternSize - チェスボードの行と列ごとの内側コーナーの数(patternSize = cv::Size(points_per_row,points_per_column))。
        corners - 検出されたコーナーの配列。#findChessboardCorners の出力。
        patternWasFound - ボード全体が見つかったかどうかを示す引数。#findChessboardCorners の戻り値をここに渡すべきである。この関数は、ボードが見つからなかった場合は個々のチェスボードコーナーを赤い円として描画し、ボードが見つかった場合は線で接続された色付きのコーナーとして描画する。
      • findCirclesGrid

        public static boolean findCirclesGrid​(Mat image,
                                              Size patternSize,
                                              Mat centers,
                                              int flags)
      • findCirclesGrid

        public static boolean findCirclesGrid​(Mat image,
                                              Size patternSize,
                                              Mat centers)
      • drawDetectedMarkers

        public static void drawDetectedMarkers​(Mat image,
                                               java.util.List<Mat> corners,
                                               Mat ids,
                                               Scalar borderColor)
        Draw detected markers in image
        引数:
        image - 入出力画像。1チャンネルまたは3チャンネルでなければならない。チャンネル数は変更されない。
        corners - 入力画像上のマーカーコーナーの位置 (例: std::vector<std::vector<cv::Point2f> > )。検出されたN個のマーカーに対して、この配列の次元はNx4でなければならない。コーナーの順序は時計回りであること。
        ids - markersCorners 内のマーカーの識別子のベクトル。省略可能。指定しない場合、IDは描画されない。
        borderColor - マーカー境界の色。その他の色 (テキストの色と最初のコーナーの色) は、視認性を高めるためこの色を基準に算出される。検出されたマーカーコーナーの配列と対応するIDを与えると、この関数は画像にマーカーを描画する。マーカーの境界が描画され、指定されていればマーカー識別子も描画される。デバッグ用途に有用である。
      • drawDetectedMarkers

        public static void drawDetectedMarkers​(Mat image,
                                               java.util.List<Mat> corners,
                                               Mat ids)
        Draw detected markers in image
        引数:
        image - 入出力画像。1チャンネルまたは3チャンネルでなければならない。チャンネル数は変更されない。
        corners - 入力画像上のマーカーコーナーの位置 (例: std::vector<std::vector<cv::Point2f> > )。検出されたN個のマーカーに対して、この配列の次元はNx4でなければならない。コーナーの順序は時計回りであること。
        ids - markersCorners 内のマーカーの識別子のベクトル。省略可能。指定しない場合、IDは描画されない。視認性を高めるためこの色を基準に算出される。検出されたマーカーコーナーの配列と対応するIDを与えると、この関数は画像にマーカーを描画する。マーカーの境界が描画され、指定されていればマーカー識別子も描画される。デバッグ用途に有用である。
      • drawDetectedMarkers

        public static void drawDetectedMarkers​(Mat image,
                                               java.util.List<Mat> corners)
        Draw detected markers in image
        引数:
        image - 入出力画像。1チャンネルまたは3チャンネルでなければならない。チャンネル数は変更されない。
        corners - 入力画像上のマーカーコーナーの位置 (例: std::vector<std::vector<cv::Point2f> > )。検出されたN個のマーカーに対して、この配列の次元はNx4でなければならない。コーナーの順序は時計回りであること。省略可能。指定しない場合、IDは描画されない。視認性を高めるためこの色を基準に算出される。検出されたマーカーコーナーの配列と対応するIDを与えると、この関数は画像にマーカーを描画する。マーカーの境界が描画され、指定されていればマーカー識別子も描画される。デバッグ用途に有用である。
      • generateImageMarker

        public static void generateImageMarker​(Dictionary dictionary,
                                               int id,
                                               int sidePixels,
                                               Mat img,
                                               int borderBits)
        Generate a canonical marker image
        引数:
        dictionary - マーカーの種類を示すマーカー辞書
        id - 返されるマーカーの識別子。指定された辞書において有効なIDでなければならない。
        sidePixels - 画像のサイズ (ピクセル単位)
        img - マーカーを描画した出力画像
        borderBits - マーカー境界の幅。この関数はマーカー画像を正規形 (すなわち印刷可能な状態) で返す。
      • generateImageMarker

        public static void generateImageMarker​(Dictionary dictionary,
                                               int id,
                                               int sidePixels,
                                               Mat img)
        Generate a canonical marker image
        引数:
        dictionary - マーカーの種類を示すマーカー辞書
        id - 返されるマーカーの識別子。指定された辞書において有効なIDでなければならない。
        sidePixels - 画像のサイズ (ピクセル単位)
        img - マーカーを描画した出力画像。この関数はマーカー画像を正規形 (すなわち印刷可能な状態) で返す。
      • drawDetectedCornersCharuco

        public static void drawDetectedCornersCharuco​(Mat image,
                                                      Mat charucoCorners,
                                                      Mat charucoIds,
                                                      Scalar cornerColor)
        Draws a set of Charuco corners
        引数:
        image - 入出力画像。1チャンネルまたは3チャンネルでなければならない。チャンネル数は変更されない。
        charucoCorners - 検出されたcharucoコーナーのベクトル
        charucoIds - charucoCorners内の各コーナーに対応する識別子のリスト
        cornerColor - 各コーナーを囲む正方形の色。この関数は検出された Charuco コーナーの集合を描画する。識別子のベクトルが指定された場合は、各コーナーの id も描画する。
      • drawDetectedCornersCharuco

        public static void drawDetectedCornersCharuco​(Mat image,
                                                      Mat charucoCorners,
                                                      Mat charucoIds)
        Draws a set of Charuco corners
        引数:
        image - 入出力画像。1チャンネルまたは3チャンネルでなければならない。チャンネル数は変更されない。
        charucoCorners - 検出されたcharucoコーナーのベクトル
        charucoIds - charucoCorners の各コーナーに対応する識別子のリスト。この関数は検出された Charuco コーナーの集合を描画する。識別子のベクトルが指定された場合は、各コーナーの id も描画する。
      • drawDetectedCornersCharuco

        public static void drawDetectedCornersCharuco​(Mat image,
                                                      Mat charucoCorners)
        Draws a set of Charuco corners
        引数:
        image - 入出力画像。1チャンネルまたは3チャンネルでなければならない。チャンネル数は変更されない。
        charucoCorners - 検出された charuco コーナーのベクトル。この関数は検出された Charuco コーナーの集合を描画する。識別子のベクトルが指定された場合は、各コーナーの id も描画する。
      • drawDetectedDiamonds

        public static void drawDetectedDiamonds​(Mat image,
                                                java.util.List<Mat> diamondCorners,
                                                Mat diamondIds,
                                                Scalar borderColor)
        Draw a set of detected ChArUco Diamond markers
        引数:
        image - 入出力画像。1チャンネルまたは3チャンネルでなければならない。チャンネル数は変更されない。
        diamondCorners - detectCharucoDiamond() が返すのと同じ形式によるダイヤモンドコーナーの位置 (例: std::vector<std::vector<cv::Point2f> > )。N 個のマーカーが検出された場合、この配列の次元は Nx4 とすべきである。コーナーの順序は時計回りとすべきである。
        diamondIds - diamondCorners 内のダイヤモンドに対する識別子のベクトル。detectCharucoDiamond() が返すのと同じ形式 (例: std::vector<Vec4i>)。省略可能で、指定されない場合は id は描画されない。
        borderColor - マーカーの境界の色。残りの色 (テキストの色と最初のコーナーの色) はこれをもとに算出される。検出されたダイヤモンドの配列を与えると、この関数はそれらを画像に描画する。マーカーの境界が描画され、指定されていればマーカーの識別子も描画される。デバッグ目的に便利である。
      • drawDetectedDiamonds

        public static void drawDetectedDiamonds​(Mat image,
                                                java.util.List<Mat> diamondCorners,
                                                Mat diamondIds)
        Draw a set of detected ChArUco Diamond markers
        引数:
        image - 入出力画像。1チャンネルまたは3チャンネルでなければならない。チャンネル数は変更されない。
        diamondCorners - detectCharucoDiamond() が返すのと同じ形式によるダイヤモンドコーナーの位置 (例: std::vector<std::vector<cv::Point2f> > )。N 個のマーカーが検出された場合、この配列の次元は Nx4 とすべきである。コーナーの順序は時計回りとすべきである。
        diamondIds - diamondCorners 内のダイヤモンドに対する識別子のベクトル。detectCharucoDiamond() が返すのと同じ形式 (例: std::vector<Vec4i>)。省略可能で、指定されない場合は id は描画されない。これをもとに算出される。検出されたダイヤモンドの配列を与えると、この関数はそれらを画像に描画する。マーカーの境界が描画され、指定されていればマーカーの識別子も描画される。デバッグ目的に便利である。
      • drawDetectedDiamonds

        public static void drawDetectedDiamonds​(Mat image,
                                                java.util.List<Mat> diamondCorners)
        Draw a set of detected ChArUco Diamond markers
        引数:
        image - 入出力画像。1チャンネルまたは3チャンネルでなければならない。チャンネル数は変更されない。
        diamondCorners - detectCharucoDiamond() が返すのと同じ形式によるダイヤモンドコーナーの位置 (例: std::vector<std::vector<cv::Point2f> > )。N 個のマーカーが検出された場合、この配列の次元は Nx4 とすべきである。コーナーの順序は時計回りとすべきである。detectCharucoDiamond() が返す (例: std::vector<Vec4i>)。省略可能で、指定されない場合は id は描画されない。これをもとに算出される。検出されたダイヤモンドの配列を与えると、この関数はそれらを画像に描画する。マーカーの境界が描画され、指定されていればマーカーの識別子も描画される。デバッグ目的に便利である。
      • getPredefinedDictionary

        public static Dictionary getPredefinedDictionary​(int dict)
        Returns one of the predefined dictionaries referenced by DICT_*.
        引数:
        dict - 自動生成
        戻り値:
        自動生成
      • extendDictionary

        public static Dictionary extendDictionary​(int nMarkers,
                                                  int markerSize,
                                                  Dictionary baseDictionary,
                                                  int randomSeed)
        Extend base dictionary by new nMarkers
        引数:
        nMarkers - 辞書に含まれるマーカーの数
        markerSize - 各マーカーの1次元あたりのビット数
        baseDictionary - この辞書のマーカーを先頭に含める (省略可能)
        randomSeed - theRNG() に渡すユーザー指定のシード。この関数は nMarkers 個のマーカーから構成される新しい辞書を作成し、各マーカーは markerSize x markerSize ビットで構成される。baseDictionary が指定された場合、そのマーカーはそのまま含まれ、残りはそれらをもとに生成される。baseDictionary のサイズが nMarkers より大きい場合は、baseDictionary の先頭から nMarkers 個のみが採用され、新しいマーカーは追加されない。
        戻り値:
        自動生成
      • extendDictionary

        public static Dictionary extendDictionary​(int nMarkers,
                                                  int markerSize,
                                                  Dictionary baseDictionary)
        Extend base dictionary by new nMarkers
        引数:
        nMarkers - 辞書に含まれるマーカーの数
        markerSize - 各マーカーの1次元あたりのビット数
        baseDictionary - この辞書のマーカーを先頭に含める (省略可能)。この関数は nMarkers 個のマーカーから構成される新しい辞書を作成し、各マーカーは markerSize x markerSize ビットで構成される。baseDictionary が指定された場合、そのマーカーはそのまま含まれ、残りはそれらをもとに生成される。baseDictionary のサイズが nMarkers より大きい場合は、baseDictionary の先頭から nMarkers 個のみが採用され、新しいマーカーは追加されない。
        戻り値:
        自動生成
      • extendDictionary

        public static Dictionary extendDictionary​(int nMarkers,
                                                  int markerSize)
        Extend base dictionary by new nMarkers
        引数:
        nMarkers - 辞書に含まれるマーカーの数
        markerSize - 各マーカーの1次元あたりのビット数。この関数は nMarkers 個のマーカーから構成される新しい辞書を作成し、各マーカーは markerSize x markerSize ビットで構成される。baseDictionary が指定された場合、そのマーカーはそのまま含まれ、残りはそれらをもとに生成される。baseDictionary のサイズが nMarkers より大きい場合は、baseDictionary の先頭から nMarkers 個のみが採用され、新しいマーカーは追加されない。
        戻り値:
        自動生成