From 42a3cc2335fdf6c4ab15b3e9b6d72ea316288908 Mon Sep 17 00:00:00 2001 From: Robert Sachunsky Date: Fri, 13 Jun 2025 01:21:25 +0200 Subject: [PATCH] cv2pil: limit color depth on output imgs --- src/eynollah/utils/pil_cv2.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/eynollah/utils/pil_cv2.py b/src/eynollah/utils/pil_cv2.py index 7975939..36228a7 100644 --- a/src/eynollah/utils/pil_cv2.py +++ b/src/eynollah/utils/pil_cv2.py @@ -7,12 +7,14 @@ from cv2 import COLOR_GRAY2BGR, COLOR_RGB2BGR, COLOR_BGR2RGB, cvtColor, imread # from sbb_binarization def cv2pil(img): - return Image.fromarray(np.array(cvtColor(img, COLOR_BGR2RGB))) + # reduce depth because cvtColor is limited + return Image.fromarray(np.array(cvtColor(img.astype(np.uint8), COLOR_BGR2RGB))) def pil2cv(img): # from ocrd/workspace.py color_conversion = COLOR_GRAY2BGR if img.mode in ('1', 'L', 'LA') else COLOR_RGB2BGR pil_as_np_array = np.array(img).astype('uint8') if img.mode == '1' else np.array(img) + # cvtColor cannot handle alpha if pil_as_np_array.shape[-1] == 2: pil_as_np_array = pil_as_np_array[:,:,0] elif pil_as_np_array.shape[-1] == 4: