Refactor to use argparse. Add descriptions and comments for context
This commit is contained in:
parent
7248c1feb1
commit
c16b92397b
|
@ -183,7 +183,7 @@ def apply_image (args) :
|
|||
##print(f'Wrote {args.destination}')
|
||||
|
||||
def main () :
|
||||
parser = argparse.ArgumentParser()
|
||||
parser = argparse.ArgumentParser(description='Create a printable rasterized image that can be hole punched and animated.')
|
||||
parser.add_argument('name', help='Name of project')
|
||||
parser.add_argument('destination', help='File to output image to')
|
||||
parser.add_argument('template', help='Template file to use')
|
||||
|
|
|
@ -181,7 +181,7 @@ def scale (args) :
|
|||
|
||||
|
||||
def main () :
|
||||
parser = argparse.ArgumentParser()
|
||||
parser = argparse.ArgumentParser(description='Create a calibration file, apply to a scanned page, or scale image to desired DPI.')
|
||||
parser.add_argument('action', help='The action to perform', choices=ACTIONS)
|
||||
parser.add_argument('--dpi', '-d', help='DPI to generate', required=False, type=int)
|
||||
parser.add_argument('--input', '-i', help='Input file', required=False)
|
||||
|
|
|
@ -63,7 +63,7 @@ def guide (args) :
|
|||
cv2.imwrite(args.output, img)
|
||||
|
||||
def main () :
|
||||
parser = argparse.ArgumentParser()
|
||||
parser = argparse.ArgumentParser(description='Generate a raster image guide image for centering the camera.')
|
||||
parser.add_argument('output', help='Output file')
|
||||
parser.add_argument('--dpi', '-d', help='DPI', required=False, type=int, default=600)
|
||||
parser.add_argument('--dimensions', '-D', help='Dimensions of image', required=True, type=str)
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import argparse
|
||||
import sys
|
||||
import cv2
|
||||
import numpy as np
|
||||
|
@ -293,22 +294,24 @@ def normalize_image(blank, rotated, offset, tl) :
|
|||
#
|
||||
# NORMALIZE
|
||||
#
|
||||
# The purpose of this script is to normalize scanned hole punch images to a standard
|
||||
# size, with standard padding around the holes and oriented straight up and down.
|
||||
# Useful for converting scanned plotter-drawn pages into 4 frame sheets and for
|
||||
# generating images to print.
|
||||
#
|
||||
|
||||
if len(sys.argv) < 2:
|
||||
print('Please provide path of scan to normalize')
|
||||
exit(1)
|
||||
parser = argparse.ArgumentParser(description='Normalize a scanned hole punch image.')
|
||||
parser.add_argument('input', type=str, help='Scan to normalize')
|
||||
parser.add_argument('output', type=str, help='Normalized file to output')
|
||||
args = parser.parse_args()
|
||||
|
||||
if len(sys.argv) < 3:
|
||||
print('Please provide path to output file')
|
||||
exit(2)
|
||||
|
||||
scanImage = sys.argv[-2]
|
||||
scanImage = args.input
|
||||
normalImage = args.output
|
||||
|
||||
if not exists(scanImage) :
|
||||
print('Scan provided does not exist')
|
||||
exit(5)
|
||||
exit(1)
|
||||
|
||||
normalImage = sys.argv[-1]
|
||||
pageDim = (11, 8.5)
|
||||
pageRatio = pageDim[1] / pageDim[0]
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import argparse
|
||||
import sys
|
||||
import cv2
|
||||
import numpy as np
|
||||
|
@ -16,14 +17,16 @@ order = [ 0, 2, 3, 5, 4, 1 ]
|
|||
matchMethods = [cv2.TM_CCOEFF, cv2.TM_CCOEFF_NORMED, cv2.TM_CCORR, cv2.TM_CCORR_NORMED, cv2.TM_SQDIFF, cv2.TM_SQDIFF_NORMED]
|
||||
|
||||
#
|
||||
# CALIBRATE
|
||||
# TEMPLATE
|
||||
#
|
||||
|
||||
if len(sys.argv) < 2:
|
||||
print('Please provide path of normalized scan to build template from to')
|
||||
exit(1)
|
||||
parser = argparse.ArgumentParser(description='Create a template from normalized scan file.')
|
||||
parser.add_argument('normalized', type=str, help='Normalized scan to build template from.')
|
||||
parser.add_argument('registration', type=str, nargs='?', help='Registration mark to use.');
|
||||
#parser.add_argument('output', type=str, help='Normalized file to output', default=None)
|
||||
args = parser.parse_args()
|
||||
|
||||
normalImage = sys.argv[1]
|
||||
normalImage = args.normalized
|
||||
|
||||
if not exists(normalImage) :
|
||||
print('Normalized scan does not exist, please provide one that does')
|
||||
|
@ -35,12 +38,12 @@ if not exists(normalText) :
|
|||
print('Corresponding normalized scan text does not exist, please generate one')
|
||||
exit(3)
|
||||
|
||||
if len(sys.argv) > 2 :
|
||||
if not exists(sys.argv[2]) :
|
||||
registrationMark = cv2.imread(sys.argv[2])
|
||||
print(f'Registration mark {sys.argv[2]} does not exist')
|
||||
if args.registraion is not None :
|
||||
if not exists(args.registraion) :
|
||||
registrationMark = cv2.imread(args.registraion)
|
||||
print(f'Registration mark {args.registraion} does not exist')
|
||||
exit(4)
|
||||
print(f'Using registration mark {sys.argv[2]}')
|
||||
print(f'Using registration mark {args.registraion}')
|
||||
|
||||
def get_dpi (width) :
|
||||
if width == 2550 :
|
||||
|
@ -59,8 +62,10 @@ height, width = img.shape[:2]
|
|||
orientation = height > width
|
||||
dpi = get_dpi(width)
|
||||
|
||||
try: registrationMark
|
||||
except NameError: registrationMark = None
|
||||
try:
|
||||
registrationMark
|
||||
except NameError:
|
||||
registrationMark = None
|
||||
if registrationMark is None :
|
||||
registrationMark = cv2.imread(f'./registrationMark/{dpi}.png', 0)
|
||||
w, h = registrationMark.shape[:2]
|
||||
|
|
Loading…
Reference in New Issue