このライブラリのJavaCVを使用しています。org.bytedeco.javacpp.opencv_core
は、バージョン1.3.2でgradle依存関係です。findChessboardCornersを呼び出すときにコーナーの座標を取得
私はチェス盤の角を取得するには、このコードを実行しているが、私はトラブルが検出されたコーナーのそれぞれに座標を取得しています
Mat imageCorners = new Mat();
Size boardSize = new Size(9,6);
boolean found = findChessboardCorners(capturedFrame,boardSize,imageCorners,CV_CALIB_CB_ADAPTIVE_THRESH+CV_CALIB_CB_NORMALIZE_IMAGE);
しかし、この方法は、検出した54のコーナー、店舗行列のためにコーナーはちょうど54x1のサイズを持っています。
if (found) {
FloatRawIndexer sI = imageCorners.createIndexer();
for (int y = 0; y < imageCorners.rows(); y++) {
for (int x = 0; x < imageCorners.cols(); x++) {
logger.debug("Row: " + y + " Column " + x);
logger.debug(sI.get(y, x));
}
}
}
ログファイルは次のようになります。
14:57:50.057 [main] DEBUG JavaCVTransformation2 - Row: 0 Column 0
14:57:50.059 [main] DEBUG JavaCVTransformation2 - 164.02007
14:57:50.059 [main] DEBUG JavaCVTransformation2 - Row: 1 Column 0
14:57:50.059 [main] DEBUG JavaCVTransformation2 - 224.07906
14:57:50.059 [main] DEBUG JavaCVTransformation2 - Row: 2 Column 0
14:57:50.059 [main] DEBUG JavaCVTransformation2 - 283.54288
14:57:50.059 [main] DEBUG JavaCVTransformation2 - Row: 3 Column 0
14:57:50.059 [main] DEBUG JavaCVTransformation2 - 343.4154
14:57:50.060 [main] DEBUG JavaCVTransformation2 - Row: 4 Column 0
14:57:50.060 [main] DEBUG JavaCVTransformation2 - 402.7718
14:57:50.060 [main] DEBUG JavaCVTransformation2 - Row: 5 Column 0
14:57:50.060 [main] DEBUG JavaCVTransformation2 - 462.38278
14:57:50.060 [main] DEBUG JavaCVTransformation2 - Row: 6 Column 0
14:57:50.060 [main] DEBUG JavaCVTransformation2 - 522.2342
14:57:50.060 [main] DEBUG JavaCVTransformation2 - Row: 7 Column 0
14:57:50.060 [main] DEBUG JavaCVTransformation2 - 580.99805
14:57:50.061 [main] DEBUG JavaCVTransformation2 - Row: 8 Column 0
14:57:50.061 [main] DEBUG JavaCVTransformation2 - 640.7774
14:57:50.061 [main] DEBUG JavaCVTransformation2 - Row: 9 Column 0
14:57:50.061 [main] DEBUG JavaCVTransformation2 - 151.04564
それは完全に正常に動作描くので、どこかに各コーナーには、2点の座標があるように持って、私は思います。
drawChessboardCorners(capturedFrame, boardSize, imageCorners, found);
findChessboardCorners()
を呼び出すとき隅の座標を取得する方法はありますか?
++出力 'imageCorners''が' 'ベクトルであります '' '' imageCorners [i] .x''と '' imageCorners [i] .y''でアクセスできます。それはあなたを助けますか? –
Phann