diff --git a/android/android-jni/jni/Calibration.cpp b/android/android-jni/jni/Calibration.cpp index d829f48987..9ba8fa8ac0 100644 --- a/android/android-jni/jni/Calibration.cpp +++ b/android/android-jni/jni/Calibration.cpp @@ -160,34 +160,9 @@ bool Calibration::detectAndDrawChessboard(int idx, image_pool* pool) if (grey.empty()) return false; vector corners; - IplImage iplgrey = grey; - patternfound = cvCheckChessboard(&iplgrey, patternsize); - if (!patternfound) - return false; - - float factor = grey.cols / 320.0f; - if (factor < 1) - factor = 1; - cv::Size r_size = cv::Size(grey.cols / factor, grey.rows / factor); - Mat grey_sub; - while (patternfound && (r_size.width < grey.size().width)) - { - cv::resize(grey, grey_sub, r_size); - patternfound = findChessboardCorners(grey_sub, patternsize, corners); - if (patternfound) - { - r_size.width *= 2; - r_size.height *= 2; - } - else - { - return false; - } - } - - // hopefully if we're going to fail we fail on a smaller size image in the while-loop - patternfound = findChessboardCorners(grey, patternsize, corners); + patternfound = findChessboardCorners(grey, patternsize, corners,CALIB_CB_FILTER_QUADS + CALIB_CB_ADAPTIVE_THRESH + CALIB_CB_NORMALIZE_IMAGE + + CALIB_CB_FAST_CHECK); Mat img = pool->getImage(idx); if (corners.size() < 1) diff --git a/android/android-jni/res/values/chessnumbers.xml b/android/android-jni/res/values/chessnumbers.xml index f0db5693ea..c0b37fa9b5 100644 --- a/android/android-jni/res/values/chessnumbers.xml +++ b/android/android-jni/res/values/chessnumbers.xml @@ -1,6 +1,7 @@ +2 3 4 5 diff --git a/android/android-jni/res/values/settingnumbers.xml b/android/android-jni/res/values/settingnumbers.xml index 4fe6de79f3..f3bd1737f7 100644 --- a/android/android-jni/res/values/settingnumbers.xml +++ b/android/android-jni/res/values/settingnumbers.xml @@ -3,7 +3,7 @@ 320x240 400x300 -600x400 +640x480 800x600 1000x800 diff --git a/android/android-jni/src/com/opencv/calibration/ChessBoardChooser.java b/android/android-jni/src/com/opencv/calibration/ChessBoardChooser.java index b13a8e859c..461a37d9be 100644 --- a/android/android-jni/src/com/opencv/calibration/ChessBoardChooser.java +++ b/android/android-jni/src/com/opencv/calibration/ChessBoardChooser.java @@ -17,7 +17,7 @@ public class ChessBoardChooser extends Activity { public static final String CHESS_SIZE = "chess_size"; public static final int DEFAULT_WIDTH = 6; public static final int DEFAULT_HEIGHT = 8; - public static final int LOWEST = 3; + public static final int LOWEST = 2; class DimChooser implements OnItemSelectedListener { private String dim; diff --git a/android/android-jni/src/com/opencv/camera/CameraConfig.java b/android/android-jni/src/com/opencv/camera/CameraConfig.java index 246415967b..ba6e8e6e9c 100644 --- a/android/android-jni/src/com/opencv/camera/CameraConfig.java +++ b/android/android-jni/src/com/opencv/camera/CameraConfig.java @@ -51,8 +51,8 @@ public class CameraConfig extends Activity { // Restore preferences SharedPreferences settings = ctx.getSharedPreferences(CAMERA_SETTINGS, 0); - size[0] = settings.getInt(IMAGE_WIDTH, 600); - size[1] = settings.getInt(IMAGE_HEIGHT, 400); + size[0] = settings.getInt(IMAGE_WIDTH, 640); + size[1] = settings.getInt(IMAGE_HEIGHT, 480); }