import sys
import os
import argparse
+import pickle
try:
import Image, ImageDraw
help="show every step of the computation")
parser.add_argument('-s', '--save', dest='saving', action='store_true',
help="save images instead of displaying them")
+ parser.add_argument('-c', '--cache', dest='l_cache', action='store_true',
+ help="use cached lines")
parser.add_argument('-v', '--verbose', dest='verbose', action='store_true',
help="report progress")
args = parser.parse_args()
#TODO ask user to try again
return 1
else:
- lines, l1, l2, bounds, hough, im_h = linef.find_lines(image, show_all, do_something, verbose)
+ if args.l_cache:
+ filename = ("saved/cache/" + args.files[0][:-4] + "_" +
+ str(image.size[0]))
+ if os.path.exists(filename):
+ lines, l1, l2, bounds, hough = pickle.load(open(filename))
+ print >> sys.stderr, "using cached results"
+ im_h = None
+ else:
+ lines, l1, l2, bounds, hough, im_h = linef.find_lines(image, show_all, do_something, verbose)
+ if not os.path.isdir("saved/cache"):
+ os.makedirs("saved/cache")
+ d_file = open(filename, 'wb')
+ pickle.dump((lines, l1, l2, bounds, hough), d_file)
+ d_file.close()
+ else:
+ lines, l1, l2, bounds, hough, im_h = linef.find_lines(image, show_all, do_something, verbose)
+
grid, lines = gridf.find(lines, image.size, l1, l2, bounds, hough,
do_something, im_h)
if show_all: