drawContours alrededor del documento detectado usando opencv para Android da un error extraño

Soy nuevo en OpenCv4Android. Estoy tratando de detectar automáticamente el documento usando OpenCv4Android sdk. Inicialmente, he pasado por el tema de la cámara horizontal opencv. De alguna manera logré cambiar la orientación de opencv JavaCameraview a vertical. Hice los siguientes cambios en las clases predeterminadas de opencv sdk para orientar la cámara opencv en vertical:

1 enCameraBridgeViewBase clase

 Matrix matrix = new Matrix();
 matrix.setRotate(90f);
 Bitmap bitmap = Bitmap.createBitmap(mCacheBitmap, 0, 0, mCacheBitmap.getWidth(), mCacheBitmap.getHeight(), matrix, true);

2) ahora en el método drawbitmap reemplaza arribamapa de bits conmCacheBitmap

3) ahora, enJavaCameraView clase

if ((getLayoutParams().width == ActionBar.LayoutParams.MATCH_PARENT) && (getLayoutParams().height == ActionBar.LayoutParams.MATCH_PARENT))
       mScale = Math.min(((float)height)/mFrameWidth, ((float)width)/mFrameHeight);
else
       mScale = 0;

Después de los cambios anteriores, puedo orientar la cámara en modo vertical. Pero, teniendo un problema extraño en la detección de documentos. Ver abajo las imágenes

Como puede ver en la primera imagen, antes de la personalización puedo detectar papel en color verde completo. Y en la segunda imagen puedes ver el error de dibujar la línea (drawContours) alrededor del papel

Lo que sigo para detectar el papel es:GaussianBlur -> Detección de bordes de Canny -> findContours -> drawContour

En el método OnCameraFrame:

     mRgba = inputFrame.rgba();
   Mat mGray = new Mat();
   Mat edged = new Mat();       
  Imgproc.cvtColor(mRgba,mGray,Imgproc.COLOR_BGR2GRAY);
  Imgproc.GaussianBlur(mRgba,mGray,new Size(5,5),0);           

-> y luego encontrar contornos

Imgproc.findContours(edged, contours, hierarchy, Imgproc.RETR_EXTERNAL, Imgproc.CHAIN_APPROX_SIMPLE);

-> Luego encontré el contorno más grande y, finalmente, el drawContours en ese

Imgproc.drawContours(mRgba, contours, maxI, new Scalar(0, 255, 0), 5);

No sé donde estoy equivocado ..! Por favor, ayúdame a resolver este extraño problema.

@Rick M. a continuación se muestra la imagen original:

@ ilke444, la siguiente es la imagen después de la detección de bordes, que es perfectamente lo que quiero:

Respuestas a la pregunta(0)

Su respuesta a la pregunta