def test_float(self):
        # test for uint8
        im = np.zeros((2, 2), np.uint8)
        im = Image(im)
        nt.assert_array_almost_equal(im.float().image,
                                     np.zeros((2, 2), np.float32))

        im = 128 * np.ones((2, 2), np.uint8)
        im = Image(im)
        nt.assert_array_almost_equal(im.float().image,
                                     (128.0 / 255.0 * np.ones((2, 2))))

        im = 255 * np.ones((2, 2), np.uint8)
        im = Image(im)
        nt.assert_array_almost_equal(im.float().image, (np.ones((2, 2))))

        # test for uint16
        im = np.zeros((2, 2), np.uint16)
        im = Image(im)
        nt.assert_array_almost_equal(im.float().image,
                                     np.zeros((2, 2), np.float32))

        im = 128 * np.ones((2, 2), np.uint16)
        im = Image(im)
        nt.assert_array_almost_equal(im.float().image,
                                     (128.0 / 65535.0 * np.ones((2, 2))))

        im = 65535 * np.ones((2, 2), np.uint16)
        im = Image(im)
        nt.assert_array_almost_equal(im.float().image, (np.ones((2, 2))))

        # test for sequence of images
        im = np.random.randint(low=1,
                               high=255,
                               size=(5, 8, 3, 4),
                               dtype=np.uint8)
        im = Image(im)
        imf = im.float()
        nt.assert_array_almost_equal(imf.shape, im.shape)
        nt.assert_array_almost_equal(imf.image,
                                     im.image.astype(np.float32) / 255.0)

        im = np.random.randint(low=1,
                               high=65535,
                               size=(3, 10, 3, 7),
                               dtype=np.uint16)
        im = Image(im)
        imf = im.float()
        nt.assert_array_almost_equal(imf.shape, im.shape)
        nt.assert_array_almost_equal(imf.image,
                                     im.image.astype(np.float32) / 65535.0)
Beispiel #2
0
    def test_morph1(self):

        # test simple case
        im = Image(np.array([[1, 2], [3, 4]]))
        se = 1
        nt.assert_array_almost_equal(im.morph(se, 'min').image, im.image)
        nt.assert_array_almost_equal(im.morph(se, 'max').image, im.image)
        nt.assert_array_almost_equal(
            im.morph(se, oper='min', opt='replicate').image, im.image)
        nt.assert_array_almost_equal(
            im.morph(se, oper='min', opt='none').image, im.image)

        # test different input formats
        nt.assert_array_almost_equal(
            im.int('uint8').morph(se, 'min').image, im.image)
        nt.assert_array_almost_equal(
            im.int('uint16').morph(se, 'min').image, im.image)
        nt.assert_array_almost_equal(im.float().morph(se, 'min').image * 255,
                                     im.image)

        im = np.array([[1, 0, 1], [0, 1, 0], [1, 1, 0]])
        im = Image(im.astype(bool))
        nt.assert_array_almost_equal(im.morph(se, 'min').image, im.image)
Beispiel #3
0
    print(im)

    red = im.red()
    blue = im.blue()
    print(red)

    # im.disp(block=False)
    # red.disp()

    grey = im.mono()
    print(grey)
    # grey.disp()

print(im.isint)
im.stats()
z = im.float()**2
print(z)
z.stats()
z.disp()

z = im * 0.5
z.stats()

# read from web

# im = Image("http://petercorke.com/files/images/monalisa.png")
# print("monalisa:", im)
# im.disp()
# im = Image("http://petercorke.com/files/images/flowers7.png")
# print("flowers7:", im)
# im.disp()