예제 #1
0
def test_to_rgb_2d():
    img = _img()[:, 0]
    int_img = np.ndarray(shape=img.shape, dtype=np.uint8)
    int_img[:] = img * 255
    husl = nphusl.rgb_to_husl(img)
    rgb = nphusl.to_rgb(husl)
    assert np.all(rgb == int_img)
예제 #2
0
def test_rgb_to_husl_3d():
    rgb_arr = np.ascontiguousarray(_img()[:5, :5])
    husl_new = nphusl.rgb_to_husl(rgb_arr)
    for row in range(husl_new.shape[0]):
        for col in range(husl_new.shape[1]):
            husl_old = husl.rgb_to_husl(*rgb_arr[row][col])
            assert _diff_hue(husl_new[row, col], husl_old)
예제 #3
0
def test_rgb_to_husl():
    rgb_arr = _img()
    husl_new = nphusl.rgb_to_husl(rgb_arr)
    for i in range(rgb_arr.shape[0]):
        for j in range(rgb_arr.shape[1]):
            assert _diff_hue(husl_new[i, j],
                             husl.rgb_to_husl(*rgb_arr[i, j]))
예제 #4
0
def test_lch_to_husl():
    rgb_arr = _img()
    lch_arr = nphusl.rgb_to_lch(rgb_arr)
    hsl_from_lch_arr = nphusl.lch_to_husl(lch_arr)
    hsl_from_rgb_arr = nphusl.rgb_to_husl(rgb_arr)
    print(rgb_arr[30:34, 0])
    print(hsl_from_lch_arr[30:34, 0])
    print(hsl_from_rgb_arr[30:34, 0])
    for i in range(rgb_arr.shape[0]):
        old_lch = husl.rgb_to_lch(*rgb_arr[i, 0])
        hsl_old = husl.lch_to_husl(old_lch)
        hsl_old = husl.rgb_to_husl(*rgb_arr[i, 0])
        assert _diff(lch_arr[i, 0], old_lch)
        assert _diff_hue(hsl_from_lch_arr[i, 0], hsl_from_rgb_arr[i, 0])
        assert _diff_hue(hsl_from_lch_arr[i, 0], hsl_from_rgb_arr[i, 0])
예제 #5
0
def test_to_hue_3d():
    img = _img()  # 3D
    as_husl = nphusl.rgb_to_husl(img / 255.0)
    just_hue = nphusl.to_hue(img)
    assert _diff(as_husl[..., 0], just_hue)
예제 #6
0
def test_transform_rgb():
    img = _img()
    as_husl = nphusl.rgb_to_husl(img / 255.0)
    chunk_husl = nphusl.transform_rgb(img, nphusl.rgb_to_husl, 10)
    assert _diff(as_husl, chunk_husl)
예제 #7
0
def test_husl_to_lch():
    img = _img()
    lch = nphusl.rgb_to_lch(img)
    husl = nphusl.rgb_to_husl(img)
    lch_2 = nphusl.husl_to_lch(husl)
    assert _diff(lch, lch_2)
예제 #8
0
def test_husl_to_rgb():
    img = np.ascontiguousarray(_img()[25:, :5])
    husl = nphusl.rgb_to_husl(img)
    rgb = nphusl.husl_to_rgb(husl)
    assert _diff(img, rgb, diff=0.01)