Пример #1
0
    def test_shapes_to_boxes(self):
        source_dataset = Dataset.from_iterable([
            DatasetItem(id=1,
                        image=np.zeros((5, 5, 3)),
                        annotations=[
                            Mask(np.array([[0, 0, 1, 1, 1], [0, 0, 0, 0, 1],
                                           [1, 0, 0, 0, 1], [1, 0, 0, 0, 0],
                                           [1, 1, 1, 0, 0]], ),
                                 id=1),
                            Polygon([1, 1, 4, 1, 4, 4, 1, 4], id=2),
                            PolyLine([1, 1, 2, 1, 2, 2, 1, 2], id=3),
                            Points([2, 2, 4, 2, 4, 4, 2, 4], id=4),
                        ]),
        ])

        target_dataset = Dataset.from_iterable([
            DatasetItem(id=1,
                        image=np.zeros((5, 5, 3)),
                        annotations=[
                            Bbox(0, 0, 4, 4, id=1),
                            Bbox(1, 1, 3, 3, id=2),
                            Bbox(1, 1, 1, 1, id=3),
                            Bbox(2, 2, 2, 2, id=4),
                        ]),
        ])

        actual = transforms.ShapesToBoxes(source_dataset)
        compare_datasets(self, target_dataset, actual)
Пример #2
0
    def test_shapes_to_boxes(self):
        class SrcExtractor(Extractor):
            def __iter__(self):
                return iter([
                    DatasetItem(id=1,
                                image=np.zeros((5, 5, 3)),
                                annotations=[
                                    Mask(np.array(
                                        [[0, 0, 1, 1, 1], [0, 0, 0, 0, 1],
                                         [1, 0, 0, 0, 1], [1, 0, 0, 0, 0],
                                         [1, 1, 1, 0, 0]], ),
                                         id=1),
                                    Polygon([1, 1, 4, 1, 4, 4, 1, 4], id=2),
                                    PolyLine([1, 1, 2, 1, 2, 2, 1, 2], id=3),
                                    Points([2, 2, 4, 2, 4, 4, 2, 4], id=4),
                                ]),
                ])

        class DstExtractor(Extractor):
            def __iter__(self):
                return iter([
                    DatasetItem(id=1,
                                image=np.zeros((5, 5, 3)),
                                annotations=[
                                    Bbox(0, 0, 4, 4, id=1),
                                    Bbox(1, 1, 3, 3, id=2),
                                    Bbox(1, 1, 1, 1, id=3),
                                    Bbox(2, 2, 2, 2, id=4),
                                ]),
                ])

        actual = transforms.ShapesToBoxes(SrcExtractor())
        compare_datasets(self, DstExtractor(), actual)