def test_processing():
    image = cv2.imread("../images/buffer/output.png", cv2.IMREAD_GRAYSCALE)
    assert not np.array_equal(
        Processing.process_image('../images/buffer/new.png'),
        image
    )
Exemplo n.º 2
0
    def process(self):
        logs = Logger('log_' + datetime.strftime(datetime.now(), "%d_%m_%H_%M") + '.txt')
        figure_numbers = {
            "Bar": int(self.bar_count.get()),
            "Circle": int(self.circle_count.get()),
            "Ellipse": int(self.ellipse_count.get()),
            "Dots": int(self.dots_count.get()),
            "Popcorn": int(self.popcorn_count.get())
        }
        writer = Writer(self.file.get())
        Cleaner().clear_output_images()

        iterations = 1
        for i in range(0, figure_numbers.get("Bar")):
            print("Bar: step " + str(iterations) + " of " + str(figure_numbers.get("Bar")))

            bar = BarBuilder().generate_random()
            Plotter.plot(bar, filename='images/buffer/output.png',
                         height=int(self.res_h.get()), width=int(self.res_w.get()))
            image = Processing.process_image('images/Bars/sample' + str(iterations) + '.png')

            writer.write_row_to_file(
                Converter.convert_image_to_csv_row(image, "Bar")
            )

            iterations += 1
        print("Bars created")

        iterations = 1
        for i in range(0, figure_numbers.get("Circle")):
            print("Circle: step " + str(iterations) + " of " + str(figure_numbers.get("Circle")))

            circle = CircleBuilder().generate_random()
            Plotter.plot(circle, filename='images/buffer/output.png',
                         height=int(self.res_h.get()), width=int(self.res_w.get()))
            image = Processing.process_image('images/Circles/sample' + str(iterations) + '.png')

            writer.write_row_to_file(
                Converter.convert_image_to_csv_row(image, "Circle")
            )

            iterations += 1
        print("Circles created")

        iterations = 1
        for i in range(0, figure_numbers.get("Dots")):
            print("Dots: step " + str(iterations) + " of " + str(figure_numbers.get("Dots")))

            dots = DotsBuilder().generate_random()
            Plotter.plot(figures=dots, filename='images/buffer/output.png',
                         height=int(self.res_h.get()), width=int(self.res_w.get()))
            image = Processing.process_image('images/Dots/sample' + str(iterations) + '.png')

            writer.write_row_to_file(
                Converter.convert_image_to_csv_row(image, "Dots")
            )

            iterations += 1
        print("Dots created")

        iterations = 1
        for i in range(0, figure_numbers.get("Ellipse")):
            print("Ellipse: step " + str(iterations) + " of " + str(figure_numbers.get("Ellipse")))

            ellipse = EllipseBuilder().generate_random()
            Plotter.plot(ellipse, filename='images/buffer/output.png',
                         height=int(self.res_h.get()), width=int(self.res_w.get()))
            image = Processing.process_image('images/Ellipses/sample' + str(iterations) + '.png')

            writer.write_row_to_file(
                Converter.convert_image_to_csv_row(image, "Ellipse")
            )

            iterations += 1
        print("Ellipse created")

        iterations = 1
        for i in range(0, figure_numbers.get("Popcorn")):
            print("Popcorn: step " + str(iterations) + " of " + str(figure_numbers.get("Popcorn")))

            popcorn = PopcornBuilder().generate_random()
            Plotter.plot(figures=popcorn, filename='images/buffer/output.png',
                         height=int(self.res_h.get()), width=int(self.res_w.get()))
            image = Processing.process_image('images/Popcorn/sample' + str(iterations) + '.png')

            writer.write_row_to_file(
                Converter.convert_image_to_csv_row(image, "Popcorn")
            )

            iterations += 1
        print("Popcorn created")

        return