X-Git-Url: http://git.tomasm.cz/imago.git/blobdiff_plain/52923c557013abe1b5945988b3c7713ad1a904bd..fb949d5c0887e5f44b1b69c571d9cd5d90ae6e3e:/imago.py?ds=sidebyside diff --git a/imago.py b/imago.py index 1d364a5..bfa4c7a 100755 --- a/imago.py +++ b/imago.py @@ -1,22 +1,50 @@ #!/usr/bin/env python """Usage: imago.py file""" +import sys import Image import im_debug -import sys +import filter +import hough -def main(argv=None): +class UsageError(Exception): + def __init__(self, msg): + self.msg = msg + +def main(*argv): """Main function of the program.""" - if argv is None: - argv = sys.argv[1] + try: + if argv is (): + argv = sys.argv[1:] + if argv == []: + raise UsageError('Missing filename') + if "--help" in argv: + print __doc__ + return 0 + except UsageError, err: + print >>sys.stderr, err.msg, "(\"imago.py --help\" for help)" + return 2 - #TODO exception on empty argument #TODO exception on file error - image = Image.open(argv) - im_debug.show(image, "Original image") + image = Image.open(argv[0]) + #im_debug.show(image, "original image") im_l = image.convert('L') - im_debug.show(im_l, "ITU-R 601-2 luma transform") + #im_debug.show(im_l, "ITU-R 601-2 luma transform") + + im_edges = filter.edge_detection(im_l) + #im_debug.show(im_edges, "edge detection") + + im_h = filter.high_pass(im_edges, 80) + #im_debug.show(im_h, "high pass filter") + + im_hough = hough.transform(im_h) + #im_debug.show(im_hough, "hough transform") + + im_h2 = filter.high_pass(im_hough, 120) + im_debug.show(im_h2, "high pass filter") + + return 0 if __name__ == '__main__': - main() + sys.exit(main())