Exemplo n.º 1
0
def draw_lines(image, regions):
    for (lt, rt, rb, lb, detected_by) in regions:
        log.warning("region at: {}, {}, {}, {}, detected by: {}".format(lt, rt, rb, lb, detected_by))

    split_regions = wrap_around(regions)
    for region in split_regions:
        pts = array(region, int32)
        cv2.polylines(image, [pts], True, (0, 255, 0), 2)

    return image
Exemplo n.º 2
0
def draw_lines(image, regions):
    for (lt, rt, rb, lb, detected_by) in regions:
        log.warning("region at: {}, {}, {}, {}, detected by: {}".format(
            lt, rt, rb, lb, detected_by))

    split_regions = wrap_around(regions)
    for region in split_regions:
        pts = array(region, int32)
        cv2.polylines(image, [pts], True, (0, 255, 0), 2)

    return image
Exemplo n.º 3
0
    def test_wrap_around_all_left(self):
        actual = wrap_around([((7980, 130), (7990, 140), (7995, 230),
                               (7990, 250), '')])
        self.assertEquals(len(actual), 1)

        points = actual[0]

        self.assertEqual(points[0], (7980, 130))
        self.assertEqual(points[1], (7990, 140))
        self.assertEqual(points[2], (7995, 230))
        self.assertEqual(points[3], (7990, 250))
Exemplo n.º 4
0
    def test_wrap_around_all_right(self):
        actual = wrap_around([((8010, 130), (8020, 140), (8025, 230),
                               (8015, 250), '')])
        self.assertEquals(len(actual), 1)

        points = actual[0]

        self.assertEqual(points[0], (10, 130))
        self.assertEqual(points[1], (20, 140))
        self.assertEqual(points[2], (25, 230))
        self.assertEqual(points[3], (15, 250))
Exemplo n.º 5
0
    def test_wrap_around_x_below_zero(self):
        actual = wrap_around([((-75, 2114), (67, 2126), (67, 2160),
                               (-75, 2149), '')])
        self.assertEquals(len(actual), 2)

        self.assertEqual(actual[0][0], (7925, 2114))
        self.assertEqual(actual[0][1], (8000, 2120))
        self.assertEqual(actual[0][2], (8000, 2154))
        self.assertEqual(actual[0][3], (7925, 2149))

        self.assertEqual(actual[1][0], (0, 2120))
        self.assertEqual(actual[1][1], (67, 2126))
        self.assertEqual(actual[1][2], (67, 2160))
        self.assertEqual(actual[1][3], (0, 2154))
Exemplo n.º 6
0
    def test_wrap_around_y(self):
        actual = wrap_around([((7990, 130), (8010, 140), (8010, 230),
                               (7990, 250), '')])
        self.assertEquals(len(actual), 2)

        points_left, points_right = actual

        self.assertEqual(points_left[0][1], 130)
        self.assertEqual(points_left[1][1], 135)
        self.assertEqual(points_left[2][1], 240)
        self.assertEqual(points_left[3][1], 250)

        self.assertEqual(points_right[0][1], 135)
        self.assertEqual(points_right[1][1], 140)
        self.assertEqual(points_right[2][1], 230)
        self.assertEqual(points_right[3][1], 240)
Exemplo n.º 7
0
    def test_wrap_around_x(self):
        actual = wrap_around([((7990, 130), (8010, 130), (8010, 230),
                               (7980, 230), '')])
        self.assertEquals(len(actual), 2)

        points_left, points_right = actual

        self.assertEqual(points_left[0][0], 7990)
        self.assertEqual(points_left[1][0], 8000)
        self.assertEqual(points_left[2][0], 8000)
        self.assertEqual(points_left[3][0], 7980)

        self.assertEqual(points_right[0][0], 0)
        self.assertEqual(points_right[1][0], 10)
        self.assertEqual(points_right[2][0], 10)
        self.assertEqual(points_right[3][0], 0)
Exemplo n.º 8
0
    def test_wrap_around_edge1(self):
        actual = wrap_around([((7996, 2228), (8066, 2212), (8070, 2230),
                               (8000, 2245), '')])
        self.assertEqual(len(actual), 2)
        self.assertEqual(len(actual[0]), 4)
        self.assertEqual(len(actual[1]), 4)

        self.assertEqual(actual[0][0], (7996, 2228))
        self.assertEqual(actual[0][1], (8000, 2228))
        self.assertEqual(actual[0][2], (8000, 2245))
        self.assertEqual(actual[0][3], (8000, 2245))

        self.assertEqual(actual[1][0], (0, 2228))
        self.assertEqual(actual[1][1], (66, 2212))
        self.assertEqual(actual[1][2], (70, 2230))
        self.assertEqual(actual[1][3], (0, 2245))
Exemplo n.º 9
0
 def test_wrap_around_problem2(self):
     actual = wrap_around([((7600, 2448), (8108, 2492), (7999, 2524),
                            (7500, 2477), '')])
     self.assertEqual(len(actual), 2)
     self.assertEqual(len(actual[0]), 5)
     self.assertEqual(len(actual[1]), 3)
Exemplo n.º 10
0
 def test_wrap_around_problem1(self):
     actual = wrap_around([((8002, 2409), (8097, 2444), (8093, 2474),
                            (7998, 2438), '')])
     self.assertEqual(len(actual), 2)
     self.assertEqual(len(actual[0]), 3)
     self.assertEqual(len(actual[1]), 5)
Exemplo n.º 11
0
 def test_wrap_around_edge8(self):
     actual = wrap_around([((7994, 2228), (8060, 2212), (8000, 2230),
                            (8000, 2245), '')])
     self.assertEqual(len(actual), 2)
     self.assertEqual(len(actual[0]), 4)
     self.assertEqual(len(actual[1]), 4)