extracting page

pull/86/head
vahid 3 years ago
parent 735abc43f3
commit cd9920eea7

@ -54,6 +54,12 @@ from qurator.eynollah.eynollah import Eynollah
help="if a directory is given, all plots needed for documentation will be saved there", help="if a directory is given, all plots needed for documentation will be saved there",
type=click.Path(exists=True, file_okay=False), type=click.Path(exists=True, file_okay=False),
) )
@click.option(
"--save_page",
"-sp",
help="if a directory is given, page crop of image will be saved there",
type=click.Path(exists=True, file_okay=False),
)
@click.option( @click.option(
"--enable-plotting/--disable-plotting", "--enable-plotting/--disable-plotting",
"-ep/-noep", "-ep/-noep",
@ -129,6 +135,7 @@ def main(
save_layout, save_layout,
save_deskewed, save_deskewed,
save_all, save_all,
save_page,
enable_plotting, enable_plotting,
allow_enhancement, allow_enhancement,
curved_line, curved_line,
@ -144,11 +151,11 @@ def main(
if log_level: if log_level:
setOverrideLogLevel(log_level) setOverrideLogLevel(log_level)
initLogging() initLogging()
if not enable_plotting and (save_layout or save_deskewed or save_all or save_images or allow_enhancement): if not enable_plotting and (save_layout or save_deskewed or save_all or save_page or save_images or allow_enhancement):
print("Error: You used one of -sl, -sd, -sa, -si or -ae but did not enable plotting with -ep") print("Error: You used one of -sl, -sd, -sa, -sp, -si or -ae but did not enable plotting with -ep")
sys.exit(1) sys.exit(1)
elif enable_plotting and not (save_layout or save_deskewed or save_all or save_images or allow_enhancement): elif enable_plotting and not (save_layout or save_deskewed or save_all or save_page or save_images or allow_enhancement):
print("Error: You used -ep to enable plotting but set none of -sl, -sd, -sa, -si or -ae") print("Error: You used -ep to enable plotting but set none of -sl, -sd, -sa, -sp, -si or -ae")
sys.exit(1) sys.exit(1)
eynollah = Eynollah( eynollah = Eynollah(
image_filename=image, image_filename=image,
@ -159,6 +166,7 @@ def main(
dir_of_layout=save_layout, dir_of_layout=save_layout,
dir_of_deskewed=save_deskewed, dir_of_deskewed=save_deskewed,
dir_of_all=save_all, dir_of_all=save_all,
dir_save_page=save_page,
enable_plotting=enable_plotting, enable_plotting=enable_plotting,
allow_enhancement=allow_enhancement, allow_enhancement=allow_enhancement,
curved_line=curved_line, curved_line=curved_line,

@ -96,6 +96,7 @@ class Eynollah:
dir_of_layout=None, dir_of_layout=None,
dir_of_deskewed=None, dir_of_deskewed=None,
dir_of_all=None, dir_of_all=None,
dir_save_page=None,
enable_plotting=False, enable_plotting=False,
allow_enhancement=False, allow_enhancement=False,
curved_line=False, curved_line=False,
@ -121,6 +122,7 @@ class Eynollah:
self.dir_out = dir_out self.dir_out = dir_out
self.dir_in = dir_in self.dir_in = dir_in
self.dir_of_all = dir_of_all self.dir_of_all = dir_of_all
self.dir_save_page = dir_save_page
self.dir_of_deskewed = dir_of_deskewed self.dir_of_deskewed = dir_of_deskewed
self.dir_of_deskewed = dir_of_deskewed self.dir_of_deskewed = dir_of_deskewed
self.dir_of_cropped_images=dir_of_cropped_images self.dir_of_cropped_images=dir_of_cropped_images
@ -140,6 +142,7 @@ class Eynollah:
self.plotter = None if not enable_plotting else EynollahPlotter( self.plotter = None if not enable_plotting else EynollahPlotter(
dir_out=self.dir_out, dir_out=self.dir_out,
dir_of_all=dir_of_all, dir_of_all=dir_of_all,
dir_save_page=dir_save_page,
dir_of_deskewed=dir_of_deskewed, dir_of_deskewed=dir_of_deskewed,
dir_of_cropped_images=dir_of_cropped_images, dir_of_cropped_images=dir_of_cropped_images,
dir_of_layout=dir_of_layout, dir_of_layout=dir_of_layout,
@ -219,6 +222,7 @@ class Eynollah:
self.plotter = None if not self.enable_plotting else EynollahPlotter( self.plotter = None if not self.enable_plotting else EynollahPlotter(
dir_out=self.dir_out, dir_out=self.dir_out,
dir_of_all=self.dir_of_all, dir_of_all=self.dir_of_all,
dir_save_page=self.dir_save_page,
dir_of_deskewed=self.dir_of_deskewed, dir_of_deskewed=self.dir_of_deskewed,
dir_of_cropped_images=self.dir_of_cropped_images, dir_of_cropped_images=self.dir_of_cropped_images,
dir_of_layout=self.dir_of_layout, dir_of_layout=self.dir_of_layout,

@ -19,6 +19,7 @@ class EynollahPlotter():
*, *,
dir_out, dir_out,
dir_of_all, dir_of_all,
dir_save_page,
dir_of_deskewed, dir_of_deskewed,
dir_of_layout, dir_of_layout,
dir_of_cropped_images, dir_of_cropped_images,
@ -29,6 +30,7 @@ class EynollahPlotter():
): ):
self.dir_out = dir_out self.dir_out = dir_out
self.dir_of_all = dir_of_all self.dir_of_all = dir_of_all
self.dir_save_page = dir_save_page
self.dir_of_layout = dir_of_layout self.dir_of_layout = dir_of_layout
self.dir_of_cropped_images = dir_of_cropped_images self.dir_of_cropped_images = dir_of_cropped_images
self.dir_of_deskewed = dir_of_deskewed self.dir_of_deskewed = dir_of_deskewed
@ -127,6 +129,8 @@ class EynollahPlotter():
def save_page_image(self, image_page): def save_page_image(self, image_page):
if self.dir_of_all is not None: if self.dir_of_all is not None:
cv2.imwrite(os.path.join(self.dir_of_all, self.image_filename_stem + "_page.png"), image_page) cv2.imwrite(os.path.join(self.dir_of_all, self.image_filename_stem + "_page.png"), image_page)
if self.dir_save_page is not None:
cv2.imwrite(os.path.join(self.dir_save_page, self.image_filename_stem + "_page.png"), image_page)
def save_enhanced_image(self, img_res): def save_enhanced_image(self, img_res):
cv2.imwrite(os.path.join(self.dir_out, self.image_filename_stem + "_enhanced.png"), img_res) cv2.imwrite(os.path.join(self.dir_out, self.image_filename_stem + "_enhanced.png"), img_res)

Loading…
Cancel
Save