mirror of
https://github.com/qurator-spk/eynollah.git
synced 2025-10-15 19:09:58 +02:00
eynollah, drop_capitals: simplify
- use new `find_center_of_contours`
This commit is contained in:
parent
3f3353ec3a
commit
415b2cbad8
2 changed files with 22 additions and 26 deletions
|
@ -70,6 +70,7 @@ from .utils.contour import (
|
||||||
filter_contours_area_of_image,
|
filter_contours_area_of_image,
|
||||||
filter_contours_area_of_image_tables,
|
filter_contours_area_of_image_tables,
|
||||||
find_contours_mean_y_diff,
|
find_contours_mean_y_diff,
|
||||||
|
find_center_of_contours,
|
||||||
find_new_features_of_contours,
|
find_new_features_of_contours,
|
||||||
find_features_of_contours,
|
find_features_of_contours,
|
||||||
get_text_region_boxes_by_given_contours,
|
get_text_region_boxes_by_given_contours,
|
||||||
|
@ -1859,14 +1860,10 @@ class Eynollah:
|
||||||
def get_slopes_and_deskew_new_light2(self, contours, contours_par, textline_mask_tot, boxes, slope_deskew):
|
def get_slopes_and_deskew_new_light2(self, contours, contours_par, textline_mask_tot, boxes, slope_deskew):
|
||||||
|
|
||||||
polygons_of_textlines = return_contours_of_interested_region(textline_mask_tot,1,0.00001)
|
polygons_of_textlines = return_contours_of_interested_region(textline_mask_tot,1,0.00001)
|
||||||
M_main_tot = [cv2.moments(polygons_of_textlines[j])
|
cx_main_tot, cy_main_tot = find_center_of_contours(polygons_of_textlines)
|
||||||
for j in range(len(polygons_of_textlines))]
|
w_h_textlines = [cv2.boundingRect(polygon)[2:] for polygon in polygons_of_textlines]
|
||||||
|
|
||||||
w_h_textlines = [cv2.boundingRect(polygons_of_textlines[i])[2:] for i in range(len(polygons_of_textlines))]
|
args_textlines = np.arange(len(polygons_of_textlines))
|
||||||
cx_main_tot = [(M_main_tot[j]["m10"] / (M_main_tot[j]["m00"] + 1e-32)) for j in range(len(M_main_tot))]
|
|
||||||
cy_main_tot = [(M_main_tot[j]["m01"] / (M_main_tot[j]["m00"] + 1e-32)) for j in range(len(M_main_tot))]
|
|
||||||
|
|
||||||
args_textlines = np.array(range(len(polygons_of_textlines)))
|
|
||||||
all_found_textline_polygons = []
|
all_found_textline_polygons = []
|
||||||
slopes = []
|
slopes = []
|
||||||
all_box_coord =[]
|
all_box_coord =[]
|
||||||
|
@ -4809,8 +4806,8 @@ class Eynollah:
|
||||||
areas_cnt_text_parent = self.return_list_of_contours_with_desired_order(
|
areas_cnt_text_parent = self.return_list_of_contours_with_desired_order(
|
||||||
areas_cnt_text_parent, index_con_parents)
|
areas_cnt_text_parent, index_con_parents)
|
||||||
|
|
||||||
cx_bigest_big, cy_biggest_big, _, _, _, _, _ = find_new_features_of_contours([contours_biggest])
|
cx_bigest_big, cy_biggest_big = find_center_of_contours([contours_biggest])
|
||||||
cx_bigest, cy_biggest, _, _, _, _, _ = find_new_features_of_contours(contours_only_text_parent)
|
cx_bigest, cy_biggest = find_center_of_contours(contours_only_text_parent)
|
||||||
|
|
||||||
if np.abs(slope_deskew) >= SLOPE_THRESHOLD:
|
if np.abs(slope_deskew) >= SLOPE_THRESHOLD:
|
||||||
contours_only_text_d, hir_on_text_d = return_contours_of_image(text_only_d)
|
contours_only_text_d, hir_on_text_d = return_contours_of_image(text_only_d)
|
||||||
|
@ -4834,10 +4831,8 @@ class Eynollah:
|
||||||
areas_cnt_text_d = self.return_list_of_contours_with_desired_order(
|
areas_cnt_text_d = self.return_list_of_contours_with_desired_order(
|
||||||
areas_cnt_text_d, index_con_parents_d)
|
areas_cnt_text_d, index_con_parents_d)
|
||||||
|
|
||||||
cx_bigest_d_big, cy_biggest_d_big, _, _, _, _, _ = \
|
cx_bigest_d_big, cy_biggest_d_big = find_center_of_contours([contours_biggest_d])
|
||||||
find_new_features_of_contours([contours_biggest_d])
|
cx_bigest_d, cy_biggest_d = find_center_of_contours(contours_only_text_parent_d)
|
||||||
cx_bigest_d, cy_biggest_d, _, _, _, _, _ = \
|
|
||||||
find_new_features_of_contours(contours_only_text_parent_d)
|
|
||||||
try:
|
try:
|
||||||
if len(cx_bigest_d) >= 5:
|
if len(cx_bigest_d) >= 5:
|
||||||
cx_bigest_d_last5 = cx_bigest_d[-5:]
|
cx_bigest_d_last5 = cx_bigest_d[-5:]
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import numpy as np
|
import numpy as np
|
||||||
import cv2
|
import cv2
|
||||||
from .contour import (
|
from .contour import (
|
||||||
|
find_center_of_contours,
|
||||||
find_new_features_of_contours,
|
find_new_features_of_contours,
|
||||||
return_contours_of_image,
|
return_contours_of_image,
|
||||||
return_parent_contours,
|
return_parent_contours,
|
||||||
|
@ -22,8 +23,8 @@ def adhere_drop_capital_region_into_corresponding_textline(
|
||||||
):
|
):
|
||||||
# print(np.shape(all_found_textline_polygons),np.shape(all_found_textline_polygons[3]),'all_found_textline_polygonsshape')
|
# print(np.shape(all_found_textline_polygons),np.shape(all_found_textline_polygons[3]),'all_found_textline_polygonsshape')
|
||||||
# print(all_found_textline_polygons[3])
|
# print(all_found_textline_polygons[3])
|
||||||
cx_m, cy_m, _, _, _, _, _ = find_new_features_of_contours(contours_only_text_parent)
|
cx_m, cy_m = find_center_of_contours(contours_only_text_parent)
|
||||||
cx_h, cy_h, _, _, _, _, _ = find_new_features_of_contours(contours_only_text_parent_h)
|
cx_h, cy_h = find_center_of_contours(contours_only_text_parent_h)
|
||||||
cx_d, cy_d, _, _, y_min_d, y_max_d, _ = find_new_features_of_contours(polygons_of_drop_capitals)
|
cx_d, cy_d, _, _, y_min_d, y_max_d, _ = find_new_features_of_contours(polygons_of_drop_capitals)
|
||||||
|
|
||||||
img_con_all = np.zeros((text_regions_p.shape[0], text_regions_p.shape[1], 3))
|
img_con_all = np.zeros((text_regions_p.shape[0], text_regions_p.shape[1], 3))
|
||||||
|
@ -89,9 +90,9 @@ def adhere_drop_capital_region_into_corresponding_textline(
|
||||||
region_final = region_with_intersected_drop[np.argmax(sum_pixels_of_intersection)] - 1
|
region_final = region_with_intersected_drop[np.argmax(sum_pixels_of_intersection)] - 1
|
||||||
|
|
||||||
# print(region_final,'region_final')
|
# print(region_final,'region_final')
|
||||||
# cx_t,cy_t ,_, _, _ ,_,_= find_new_features_of_contours(all_found_textline_polygons[int(region_final)])
|
# cx_t, cy_t = find_center_of_contours(all_found_textline_polygons[int(region_final)])
|
||||||
try:
|
try:
|
||||||
cx_t, cy_t, _, _, _, _, _ = find_new_features_of_contours(all_found_textline_polygons[int(region_final)])
|
cx_t, cy_t = find_center_of_contours(all_found_textline_polygons[int(region_final)])
|
||||||
# print(all_box_coord[j_cont])
|
# print(all_box_coord[j_cont])
|
||||||
# print(cx_t)
|
# print(cx_t)
|
||||||
# print(cy_t)
|
# print(cy_t)
|
||||||
|
@ -153,9 +154,9 @@ def adhere_drop_capital_region_into_corresponding_textline(
|
||||||
|
|
||||||
# areas_main=np.array([cv2.contourArea(all_found_textline_polygons[int(region_final)][0][j] ) for j in range(len(all_found_textline_polygons[int(region_final)]))])
|
# areas_main=np.array([cv2.contourArea(all_found_textline_polygons[int(region_final)][0][j] ) for j in range(len(all_found_textline_polygons[int(region_final)]))])
|
||||||
|
|
||||||
# cx_t,cy_t ,_, _, _ ,_,_= find_new_features_of_contours(all_found_textline_polygons[int(region_final)])
|
# cx_t, cy_t = find_center_of_contours(all_found_textline_polygons[int(region_final)])
|
||||||
try:
|
try:
|
||||||
cx_t, cy_t, _, _, _, _, _ = find_new_features_of_contours(all_found_textline_polygons[int(region_final)])
|
cx_t, cy_t = find_center_of_contours(all_found_textline_polygons[int(region_final)])
|
||||||
# print(all_box_coord[j_cont])
|
# print(all_box_coord[j_cont])
|
||||||
# print(cx_t)
|
# print(cx_t)
|
||||||
# print(cy_t)
|
# print(cy_t)
|
||||||
|
@ -208,7 +209,7 @@ def adhere_drop_capital_region_into_corresponding_textline(
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# print(all_found_textline_polygons[j_cont][0])
|
# print(all_found_textline_polygons[j_cont][0])
|
||||||
cx_t, cy_t, _, _, _, _, _ = find_new_features_of_contours(all_found_textline_polygons[int(region_final)])
|
cx_t, cy_t = find_center_of_contours(all_found_textline_polygons[int(region_final)])
|
||||||
# print(all_box_coord[j_cont])
|
# print(all_box_coord[j_cont])
|
||||||
# print(cx_t)
|
# print(cx_t)
|
||||||
# print(cy_t)
|
# print(cy_t)
|
||||||
|
@ -261,7 +262,7 @@ def adhere_drop_capital_region_into_corresponding_textline(
|
||||||
else:
|
else:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
##cx_t,cy_t ,_, _, _ ,_,_= find_new_features_of_contours(all_found_textline_polygons[int(region_final)])
|
##cx_t, cy_t = find_center_of_contours(all_found_textline_polygons[int(region_final)])
|
||||||
###print(all_box_coord[j_cont])
|
###print(all_box_coord[j_cont])
|
||||||
###print(cx_t)
|
###print(cx_t)
|
||||||
###print(cy_t)
|
###print(cy_t)
|
||||||
|
@ -315,9 +316,9 @@ def adhere_drop_capital_region_into_corresponding_textline(
|
||||||
region_final = region_with_intersected_drop[np.argmax(sum_pixels_of_intersection)] - 1
|
region_final = region_with_intersected_drop[np.argmax(sum_pixels_of_intersection)] - 1
|
||||||
|
|
||||||
# print(region_final,'region_final')
|
# print(region_final,'region_final')
|
||||||
# cx_t,cy_t ,_, _, _ ,_,_= find_new_features_of_contours(all_found_textline_polygons[int(region_final)])
|
# cx_t, cy_t = find_center_of_contours(all_found_textline_polygons[int(region_final)])
|
||||||
try:
|
try:
|
||||||
cx_t, cy_t, _, _, _, _, _ = find_new_features_of_contours(all_found_textline_polygons[int(region_final)])
|
cx_t, cy_t = find_center_of_contours(all_found_textline_polygons[int(region_final)])
|
||||||
# print(all_box_coord[j_cont])
|
# print(all_box_coord[j_cont])
|
||||||
# print(cx_t)
|
# print(cx_t)
|
||||||
# print(cy_t)
|
# print(cy_t)
|
||||||
|
@ -375,12 +376,12 @@ def adhere_drop_capital_region_into_corresponding_textline(
|
||||||
|
|
||||||
# areas_main=np.array([cv2.contourArea(all_found_textline_polygons[int(region_final)][0][j] ) for j in range(len(all_found_textline_polygons[int(region_final)]))])
|
# areas_main=np.array([cv2.contourArea(all_found_textline_polygons[int(region_final)][0][j] ) for j in range(len(all_found_textline_polygons[int(region_final)]))])
|
||||||
|
|
||||||
# cx_t,cy_t ,_, _, _ ,_,_= find_new_features_of_contours(all_found_textline_polygons[int(region_final)])
|
# cx_t, cy_t = find_center_of_contours(all_found_textline_polygons[int(region_final)])
|
||||||
|
|
||||||
# print(cx_t,'print')
|
# print(cx_t,'print')
|
||||||
try:
|
try:
|
||||||
# print(all_found_textline_polygons[j_cont][0])
|
# print(all_found_textline_polygons[j_cont][0])
|
||||||
cx_t, cy_t, _, _, _, _, _ = find_new_features_of_contours(all_found_textline_polygons[int(region_final)])
|
cx_t, cy_t = find_center_of_contours(all_found_textline_polygons[int(region_final)])
|
||||||
# print(all_box_coord[j_cont])
|
# print(all_box_coord[j_cont])
|
||||||
# print(cx_t)
|
# print(cx_t)
|
||||||
# print(cy_t)
|
# print(cy_t)
|
||||||
|
@ -453,7 +454,7 @@ def adhere_drop_capital_region_into_corresponding_textline(
|
||||||
#####try:
|
#####try:
|
||||||
#####if len(contours_new_parent)==1:
|
#####if len(contours_new_parent)==1:
|
||||||
######print(all_found_textline_polygons[j_cont][0])
|
######print(all_found_textline_polygons[j_cont][0])
|
||||||
#####cx_t,cy_t ,_, _, _ ,_,_= find_new_features_of_contours(all_found_textline_polygons[j_cont])
|
#####cx_t, cy_t = find_center_of_contours(all_found_textline_polygons[j_cont])
|
||||||
######print(all_box_coord[j_cont])
|
######print(all_box_coord[j_cont])
|
||||||
######print(cx_t)
|
######print(cx_t)
|
||||||
######print(cy_t)
|
######print(cy_t)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue