from PIL import Image import argparse parser=argparse.ArgumentParser() parser.add_argument('IMG_20170430_130454.jpg') parser.add_argument('-o','--output') parser.add_argument('--width',type=int,default=80) parser.add_argument('--height',type=int,default=65) args=parser.parse_args() IMG=args.file WIDTH=args.width HEIGHT=args.height OUTPUT=args.output ascii_char=list("I lve you") def get_char(r,g,b,alpha=256): if alpha==0: return ' ' length=len(ascii_char) gray=int(0.2126*r+0.7152*g+0.0722*b) unit=(256.0+1)/length return ascii_char[int(gray/unit)] if __name__=='__main__': im=Image.open(IMG) im=im.resize((WIDTH,HEIGHT),Image.NEAREST) txt="" for i in range(HEIGHT): for j in range((WIDTH)): txt+=get_char(*im.getpixe((j,i))) txt+='\n' if OUTPUT: with open(OUTPUT,'w') as f: f.write(txt) else: with open("output.txt",'w') as f: f.write(txt)
I get an error when I run it
usage: ascii.py [-h] [-o OUTPUT] [--width WIDTH] [--height HEIGHT]
IMG_20170430_130454.jpg
ascii.py: error: too few arguments
The first parameter is missing the parameter name