Android OpenCV Drawing Hough Lines

Estou tentando usar o OpenCV em um telefone Android para detectar linhas. Modifiquei o exemplo 'Tutorial 1 Basic - 2. Use OpenCV Camera'. Eu também estou usandoHough Line Transform como um exemplo. No entanto, estou obtendo números estranhos (pelo menos o que acredito serem números estranhos) para os pontos. No intervalo de 1000 a -1000 para b.

Não compreendo completamente o código (principalmente a parte sobre adição / subtração de 1000 * (a ou -b)

No final, não vejo as linha

Alguém poderia me dar uma mão? Entre em contato também se precisar de mais informações.

capture.retrieve(mGray, Highgui.CV_CAP_ANDROID_GREY_FRAME);
Imgproc.Canny(mGray, mIntermediateMat, 80, 100);
Imgproc.HoughLines(mIntermediateMat, mLines, 1, Math.PI/180, 100);

Scalar color = new Scalar(0, 0, 255);

double[] data;
double rho, theta;
Point pt1 = new Point();
Point pt2 = new Point();
double a, b;
double x0, y0;
for (int i = 0; i < mLines.cols(); i++)
{
    data = mLines.get(0, i);
    rho = data[0];
    theta = data[1];
    a = Math.cos(theta);
    b = Math.sin(theta);
    x0 = a*rho;
    y0 = b*rho;
    pt1.x = Math.round(x0 + 1000*(-b));
    pt1.y = Math.round(y0 + 1000*a);
    pt2.x = Math.round(x0 - 1000*(-b));
    pt2.y = Math.round(y0 - 1000 *a);
    Core.line(mIntermediateMat, pt1, pt2, color, 3);
}

Imgproc.cvtColor(mIntermediateMat, mRgba, Imgproc.COLOR_GRAY2BGRA, 4);

Bitmap bmp = Bitmap.createBitmap(mRgba.cols(), mRgba.rows(), Bitmap.Config.ARGB_8888);

if (Utils.matToBitmap(mRgba, bmp))
    return bmp;

bmp.recycle();
return null;

questionAnswers(3)

yourAnswerToTheQuestion