Beispiel #1
0
 def test_cascades(self):
     cascade0 = [
         self.color_edges,
         lab.color_filter_from_greyscale_filter(lab.make_sharpen_filter(3))
     ]
     cascade1 = [
         lab.color_filter_from_greyscale_filter(lab.make_blur_filter(5)),
         self.color_edges,
         lab.color_filter_from_greyscale_filter(lab.make_sharpen_filter(3))
     ]
     cascade3 = [self.color_edges] * 5 + [self.color_inverted]
     for fname in ('tree', ):
         for cix, cascade in enumerate([cascade0, cascade1]):
             inpfile = os.path.join(TEST_DIRECTORY, 'test_images',
                                    f'{fname}.png')
             expfile = os.path.join(TEST_DIRECTORY, 'test_results',
                                    f'{fname}_cascade{cix}.png')
             im = lab.load_color_image(inpfile)
             oim = object_hash(im)
             f_cascade = lab.filter_cascade(cascade)
             self.assertTrue(callable(f_cascade),
                             'filter_cascade should return a function.')
             result = f_cascade(im)
             expected = lab.load_color_image(expfile)
             self.assertEqual(
                 object_hash(im), oim,
                 'Be careful not to modify the original image!')
             self.compare_color_images(result, expected)
Beispiel #2
0
 def test_sharpen_filters_1(self):
     sharpen_filter = lab.make_sharpen_filter(7)
     self.assertTrue(callable(sharpen_filter),
                     'make_sharpen_filter should return a function.')
     color_sharpen = lab.color_filter_from_greyscale_filter(sharpen_filter)
     im = lab.load_color_image('test_images/sparrowchick.png')
     result = color_sharpen(im)
     lab.save_color_image(
         result, '/Users/yaxinliu/Downloads/lab1/Make_Sharpen.png')
Beispiel #3
0
def test_sharpen_filter_images(fname, ker_size):
    inpfile = os.path.join(TEST_DIRECTORY, 'test_images', f'{fname}.png')
    expfile = os.path.join(TEST_DIRECTORY, 'test_results', f'{fname}_sharpened{ker_size}.png')
    im = lab.load_color_image(inpfile)
    oim = object_hash(im)
    sharpen_filter = lab.make_sharpen_filter(ker_size)
    assert callable(sharpen_filter), 'make_sharpen_filter should return a function.'
    color_sharpen = lab.color_filter_from_greyscale_filter(sharpen_filter)
    result = color_sharpen(im)
    expected = lab.load_color_image(expfile)
    assert object_hash(im) == oim, 'Be careful not to modify the original image!'
    compare_color_images(result, expected)
Beispiel #4
0
def test_cascades(cascade, image):
    color_edges = lab.color_filter_from_greyscale_filter(lab.edges)
    color_inverted = lab.color_filter_from_greyscale_filter(lab.inverted)
    cascade0 = [color_edges,
                lab.color_filter_from_greyscale_filter(lab.make_sharpen_filter(3))]
    cascade1 = [lab.color_filter_from_greyscale_filter(lab.make_blur_filter(5)),
                color_edges,
                lab.color_filter_from_greyscale_filter(lab.make_sharpen_filter(3)),
                lambda im: {k: ([(i[1], i[0], i[2]) for i in v] if isinstance(v, list) else v) for k, v in im.items()}]
    cascade2 = [color_edges]*5 + [color_inverted]

    cascades = [cascade0, cascade1, cascade2]

    inpfile = os.path.join(TEST_DIRECTORY, 'test_images', f'{image}.png')
    expfile = os.path.join(TEST_DIRECTORY, 'test_results', f'{image}_cascade{cascade}.png')
    im = lab.load_color_image(inpfile)
    oim = object_hash(im)
    f_cascade = lab.filter_cascade(cascades[cascade])
    assert callable(f_cascade), 'filter_cascade should return a function.'
    result = f_cascade(im)
    expected = lab.load_color_image(expfile)
    assert object_hash(im) == oim, 'Be careful not to modify the original image!'
    compare_color_images(result, expected)
Beispiel #5
0
 def test_sharpen_filters(self):
     for fname in ('construct', 'bluegill'):
         for ker_size in {3, 5}:
             with self.subTest(f=fname):
                 inpfile = os.path.join(TEST_DIRECTORY, 'test_images',
                                        f'{fname}.png')
                 expfile = os.path.join(TEST_DIRECTORY, 'test_results',
                                        f'{fname}_sharpened{ker_size}.png')
                 im = lab.load_color_image(inpfile)
                 oim = object_hash(im)
                 sharpened_filter = lab.make_sharpen_filter(ker_size)
                 self.assertTrue(
                     callable(sharpened_filter),
                     'make_sharpen_filter should return a function.')
                 color_sharpen = lab.color_filter_from_greyscale_filter(
                     sharpened_filter)
                 result = color_sharpen(im)
                 expected = lab.load_color_image(expfile)
                 self.assertEqual(
                     object_hash(im), oim,
                     'Be careful not to modify the original image!')
                 self.compare_color_images(result, expected)