Я пытаюсь найти положение изображения по осям x и y после конвертации с обнаружением острых краев, но не могу найти точный результат. Я использую opencvlibrary311.
Вот мой фрагмент кода.
// transformation matrix
Mat transformMatrix = Imgproc.getPerspectiveTransform(srcMat, dstMat);
finalMat = Mat.zeros((int) maxHeight, (int) maxWidth, CvType.CV_32FC2);
Imgproc.warpPerspective(rgbMat, finalMat, transformMatrix, finalMat.size());
Log.e("FinalDisplay", "finalMat: " + finalMat.size());
// display final results
Bitmap dstBitmap = Bitmap.createBitmap(finalMat.width(), finalMat.height(), Bitmap.Config.RGB_565);
Log.e("FinalDisplay", "dstBitmap: " + img.getWidth() + " x " + img.getHeight());
Utils.matToBitmap(finalMat, dstBitmap); //convert mat to bitmap
// create cropped bitmap based on canny edge x and y and height and width
try {
Bitmap crop = Bitmap.createBitmap(rotateandscalebitmap, cannyMat.rows(),cannyMat.cols(), dstBitmap.getWidth(), dstBitmap.getHeight()-20);
// Bitmap crop = Bitmap.createBitmap(rotateandscalebitmap, ((int) horizontals.get(5)._center.y + 150), ((int) verticals.get(0)._center.x), dstBitmap.getWidth() + 100, dstBitmap.getHeight() + 10);
croppedbitmap = crop;
doRecognize(croppedbitmap);
} catch (Exception e) {
e.printStackTrace();
}
Я хочу это ниже вывода