From d51a5262b3c1055e427e3124e32e601aff1b00ca Mon Sep 17 00:00:00 2001 From: Andrey Pavlenko Date: Wed, 16 Nov 2011 08:36:57 +0000 Subject: [PATCH] Java API: adding test for HoughLinesP() --- .../org/opencv/test/imgproc/ImgprocTest.java | 40 ++++++++++++++++--- 1 file changed, 34 insertions(+), 6 deletions(-) diff --git a/modules/java/android_test/src/org/opencv/test/imgproc/ImgprocTest.java b/modules/java/android_test/src/org/opencv/test/imgproc/ImgprocTest.java index 0409056b4..e68df26bb 100644 --- a/modules/java/android_test/src/org/opencv/test/imgproc/ImgprocTest.java +++ b/modules/java/android_test/src/org/opencv/test/imgproc/ImgprocTest.java @@ -1223,15 +1223,23 @@ public class ImgprocTest extends OpenCVTestCase { public void testHoughLinesMatMatDoubleDoubleInt() { int sz = 512; - Mat img = new Mat(sz, sz, CvType.CV_8U, new Scalar(128)); - Mat lines = new Mat(); + Mat img = new Mat(sz, sz, CvType.CV_8U, new Scalar(0)); Point point1 = new Point(50, 50); Point point2 = new Point(img.cols() / 2, img.rows() / 2); - Core.line(img, point1, point2, colorBlack, 2); + Core.line(img, point1, point2, colorWhite, 1); + Mat lines = new Mat(); - Imgproc.HoughLines(img, lines, 1, 5, 1); + Imgproc.HoughLines(img, lines, 1, 3.1415926/180, 100); - assertEquals(2, lines.cols()); + assertEquals(1, lines.cols()); + + /* + Log.d("HoughLines", "lines=" + lines); + int num = (int)lines.total(); + int buff[] = new int[num*4]; //[ (x1, y1, x2, y2), (...), ...] + lines.get(0, 0, buff); + Log.d("HoughLines", "lines=" + Arrays.toString(buff)); + */ } public void testHoughLinesMatMatDoubleDoubleIntDouble() { @@ -1243,7 +1251,27 @@ public class ImgprocTest extends OpenCVTestCase { } public void testHoughLinesPMatMatDoubleDoubleInt() { - fail("Not yet implemented"); + int sz = 512; + Mat img = new Mat(sz, sz, CvType.CV_8U, new Scalar(0)); + Point point1 = new Point(0, 0); + Point point2 = new Point(sz, sz); + Point point3 = new Point(sz, 0); + Point point4 = new Point(2*sz/3, sz/3); + Core.line(img, point1, point2, Scalar.all(255), 1); + Core.line(img, point3, point4, Scalar.all(255), 1); + Mat lines = new Mat(); + + Imgproc.HoughLinesP(img, lines, 1, 3.1415926/180, 100); + + assertEquals(2, lines.cols()); + + /* + Log.d("HoughLinesP", "lines=" + lines); + int num = (int)lines.cols(); + int buff[] = new int[num*4]; // CV_32SC4 as [ (x1, y1, x2, y2), (...), ...] + lines.get(0, 0, buff); + Log.d("HoughLinesP", "lines=" + Arrays.toString(buff)); + */ } public void testHoughLinesPMatMatDoubleDoubleIntDouble() {