30 lines
781 B
Python
30 lines
781 B
Python
# sample usage: python3 scripts/deskew_demo.py /path/to/crooked.pdf 0
|
|
import argparse
|
|
import numpy as np
|
|
import pdf2image
|
|
|
|
from vidocp.utils.display import show_mpl
|
|
from vidocp.utils.deskew import deskew_histbased, deskew_linebased
|
|
|
|
|
|
def parse_args():
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument("pdf_path")
|
|
parser.add_argument("page_index", type=int)
|
|
|
|
args = parser.parse_args()
|
|
|
|
return args
|
|
|
|
|
|
if __name__ == "__main__":
|
|
args = parse_args()
|
|
page = pdf2image.convert_from_path(args.pdf_path, first_page=args.page_index + 1, last_page=args.page_index + 1)[0]
|
|
page = np.array(page)
|
|
|
|
show_mpl(page)
|
|
page_ = deskew_linebased(page, verbose=True)
|
|
show_mpl(page_)
|
|
page_ = deskew_histbased(page, verbose=True)
|
|
show_mpl(page_)
|