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)
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)
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]))
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])
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)
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)
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)
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)