diff --git a/src/eynollah/sbb_binarize.py b/src/eynollah/sbb_binarize.py index c215e50..d503559 100644 --- a/src/eynollah/sbb_binarize.py +++ b/src/eynollah/sbb_binarize.py @@ -1,27 +1,22 @@ """ -Tool to load model and binarize a given image. +Load model and binarize a given image. """ - +import os import sys from glob import glob from os import environ, devnull from os.path import join from warnings import catch_warnings, simplefilter -import os - import numpy as np from PIL import Image import cv2 - environ['TF_CPP_MIN_LOG_LEVEL'] = '3' stderr = sys.stderr sys.stderr = open(devnull, 'w') import tensorflow as tf from tensorflow.keras.models import load_model from tensorflow.python.keras import backend as tensorflow_backend - sys.stderr = stderr - import logging diff --git a/src/eynollah/utils/drop_capitals.py b/src/eynollah/utils/drop_capitals.py index 975f493..5047477 100644 --- a/src/eynollah/utils/drop_capitals.py +++ b/src/eynollah/utils/drop_capitals.py @@ -112,15 +112,12 @@ def adhere_drop_capital_region_into_corresponding_textline( # print(arg_min) cnt_nearest = np.copy(all_found_textline_polygons[int(region_final)][arg_min]) - cnt_nearest[:, 0, 0] = all_found_textline_polygons[int(region_final)][arg_min][:, 0, - 0] # +all_box_coord[int(region_final)][2] - cnt_nearest[:, 0, 1] = all_found_textline_polygons[int(region_final)][arg_min][:, 0, - 1] # +all_box_coord[int(region_final)][0] + cnt_nearest[:, 0, 0] = all_found_textline_polygons[int(region_final)][arg_min][:, 0, 0] # +all_box_coord[int(region_final)][2] + cnt_nearest[:, 0, 1] = all_found_textline_polygons[int(region_final)][arg_min][:, 0, 1] # +all_box_coord[int(region_final)][0] img_textlines = np.zeros((text_regions_p.shape[0], text_regions_p.shape[1], 3)) img_textlines = cv2.fillPoly(img_textlines, pts=[cnt_nearest], color=(255, 255, 255)) - img_textlines = cv2.fillPoly(img_textlines, pts=[polygons_of_drop_capitals[i_drop]], - color=(255, 255, 255)) + img_textlines = cv2.fillPoly(img_textlines, pts=[polygons_of_drop_capitals[i_drop]], color=(255, 255, 255)) img_textlines = img_textlines.astype(np.uint8) @@ -180,15 +177,12 @@ def adhere_drop_capital_region_into_corresponding_textline( # print(arg_min) cnt_nearest = np.copy(all_found_textline_polygons[int(region_final)][arg_min]) - cnt_nearest[:, 0, 0] = all_found_textline_polygons[int(region_final)][arg_min][:, 0, - 0] # +all_box_coord[int(region_final)][2] - cnt_nearest[:, 0, 1] = all_found_textline_polygons[int(region_final)][arg_min][:, 0, - 1] # +all_box_coord[int(region_final)][0] + cnt_nearest[:, 0, 0] = all_found_textline_polygons[int(region_final)][arg_min][:, 0, 0] # +all_box_coord[int(region_final)][2] + cnt_nearest[:, 0, 1] = all_found_textline_polygons[int(region_final)][arg_min][:, 0, 1] # +all_box_coord[int(region_final)][0] img_textlines = np.zeros((text_regions_p.shape[0], text_regions_p.shape[1], 3)) img_textlines = cv2.fillPoly(img_textlines, pts=[cnt_nearest], color=(255, 255, 255)) - img_textlines = cv2.fillPoly(img_textlines, pts=[polygons_of_drop_capitals[i_drop]], - color=(255, 255, 255)) + img_textlines = cv2.fillPoly(img_textlines, pts=[polygons_of_drop_capitals[i_drop]], color=(255, 255, 255)) img_textlines = img_textlines.astype(np.uint8) @@ -238,15 +232,12 @@ def adhere_drop_capital_region_into_corresponding_textline( # print(arg_min) cnt_nearest = np.copy(all_found_textline_polygons[int(region_final)][arg_min]) - cnt_nearest[:, 0, 0] = all_found_textline_polygons[int(region_final)][arg_min][:, 0, - 0] # +all_box_coord[int(region_final)][2] - cnt_nearest[:, 0, 1] = all_found_textline_polygons[int(region_final)][arg_min][:, 0, - 1] # +all_box_coord[int(region_final)][0] + cnt_nearest[:, 0, 0] = all_found_textline_polygons[int(region_final)][arg_min][:, 0, 0] # +all_box_coord[int(region_final)][2] + cnt_nearest[:, 0, 1] = all_found_textline_polygons[int(region_final)][arg_min][:, 0, 1] # +all_box_coord[int(region_final)][0] img_textlines = np.zeros((text_regions_p.shape[0], text_regions_p.shape[1], 3)) img_textlines = cv2.fillPoly(img_textlines, pts=[cnt_nearest], color=(255, 255, 255)) - img_textlines = cv2.fillPoly(img_textlines, pts=[polygons_of_drop_capitals[i_drop]], - color=(255, 255, 255)) + img_textlines = cv2.fillPoly(img_textlines, pts=[polygons_of_drop_capitals[i_drop]], color=(255, 255, 255)) img_textlines = img_textlines.astype(np.uint8) contours_combined = return_contours_of_interested_region(img_textlines, 255, 0) @@ -356,15 +347,12 @@ def adhere_drop_capital_region_into_corresponding_textline( # print(arg_min) cnt_nearest = np.copy(all_found_textline_polygons[int(region_final)][arg_min]) - cnt_nearest[:, 0] = all_found_textline_polygons[int(region_final)][arg_min][:, 0] + \ - all_box_coord[int(region_final)][2] - cnt_nearest[:, 1] = all_found_textline_polygons[int(region_final)][arg_min][:, 1] + \ - all_box_coord[int(region_final)][0] + cnt_nearest[:, 0] = all_found_textline_polygons[int(region_final)][arg_min][:, 0] + all_box_coord[int(region_final)][2] + cnt_nearest[:, 1] = all_found_textline_polygons[int(region_final)][arg_min][:, 1] + all_box_coord[int(region_final)][0] img_textlines = np.zeros((text_regions_p.shape[0], text_regions_p.shape[1], 3)) img_textlines = cv2.fillPoly(img_textlines, pts=[cnt_nearest], color=(255, 255, 255)) - img_textlines = cv2.fillPoly(img_textlines, pts=[polygons_of_drop_capitals[i_drop]], - color=(255, 255, 255)) + img_textlines = cv2.fillPoly(img_textlines, pts=[polygons_of_drop_capitals[i_drop]], color=(255, 255, 255)) img_textlines = img_textlines.astype(np.uint8) contours_combined = return_contours_of_interested_region(img_textlines, 255, 0) @@ -424,15 +412,12 @@ def adhere_drop_capital_region_into_corresponding_textline( # print(arg_min) cnt_nearest = np.copy(all_found_textline_polygons[int(region_final)][arg_min]) - cnt_nearest[:, 0] = all_found_textline_polygons[int(region_final)][arg_min][:, 0] + \ - all_box_coord[int(region_final)][2] - cnt_nearest[:, 1] = all_found_textline_polygons[int(region_final)][arg_min][:, 1] + \ - all_box_coord[int(region_final)][0] + cnt_nearest[:, 0] = all_found_textline_polygons[int(region_final)][arg_min][:, 0] + all_box_coord[int(region_final)][2] + cnt_nearest[:, 1] = all_found_textline_polygons[int(region_final)][arg_min][:, 1] + all_box_coord[int(region_final)][0] img_textlines = np.zeros((text_regions_p.shape[0], text_regions_p.shape[1], 3)) img_textlines = cv2.fillPoly(img_textlines, pts=[cnt_nearest], color=(255, 255, 255)) - img_textlines = cv2.fillPoly(img_textlines, pts=[polygons_of_drop_capitals[i_drop]], - color=(255, 255, 255)) + img_textlines = cv2.fillPoly(img_textlines, pts=[polygons_of_drop_capitals[i_drop]], color=(255, 255, 255)) img_textlines = img_textlines.astype(np.uint8) contours_combined = return_contours_of_interested_region(img_textlines, 255, 0) diff --git a/src/eynollah/utils/marginals.py b/src/eynollah/utils/marginals.py index 6759942..ecdca15 100644 --- a/src/eynollah/utils/marginals.py +++ b/src/eynollah/utils/marginals.py @@ -126,8 +126,7 @@ def get_marginals(text_with_lines, text_regions, num_col, slope_deskew, light_ve polygons_of_marginals = return_contours_of_interested_region(text_regions, pixel_img, min_area_text) - cx_text_only, cy_text_only, x_min_text_only, x_max_text_only, y_min_text_only, y_max_text_only, y_cor_x_min_main = find_new_features_of_contours( - polygons_of_marginals) + (cx_text_only, cy_text_only, x_min_text_only, x_max_text_only, y_min_text_only, y_max_text_only, y_cor_x_min_main) = (find_new_features_of_contours(polygons_of_marginals)) text_regions[(text_regions[:, :] == 4)] = 1 @@ -155,8 +154,7 @@ def get_marginals(text_with_lines, text_regions, num_col, slope_deskew, light_ve polygons_of_marginals = return_contours_of_interested_region(text_regions, pixel_img, min_area_text) - cx_text_only, cy_text_only, x_min_text_only, x_max_text_only, y_min_text_only, y_max_text_only, y_cor_x_min_main = find_new_features_of_contours( - polygons_of_marginals) + (cx_text_only, cy_text_only, x_min_text_only, x_max_text_only, y_min_text_only, y_max_text_only, y_cor_x_min_main) = (find_new_features_of_contours(polygons_of_marginals)) text_regions[(text_regions[:, :] == 4)] = 1