Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /usr/bin/env python
- # ImageDecoder.py
- # Author: Abdul Fatir
- # E-Mail: abdulfatirs@gmail.com
- from PIL import Image
- import optparse
- morse_dict={
- 'A':'.-','B':'-...','C':'-.-.','D':'-..','E':'.','F':'..-.',
- 'G':'--.','H':'....','I':'..','J':'.---','K':'-.-','L':'.-..',
- 'M':'--','N':'-.','O':'---','P':'.--.','Q':'--.-','R':'.-.',
- 'S':'...','T':'-','U':'..-','V':'...-','W':'.--','X':'-..-',
- 'Y':'-.--','Z':'--..','0':'-----','1':'.----','2':'..---','3':'...--',
- '4':'....-','5':'.....','6':'-....','7':'--...','8':'---..','9':'----.',
- '.':'.-.-.-',',':'--..--','?':'..--..',"'":'.----.','/':'-..-.','(':'-.--.-',
- ')':'-.--.-',':':'---...',';':'-.-.-.','=':'-...-','+':'.-.-.','-':'-....-',
- '_':'..--.-','"':'.-..-.','$':'...-..-','':''
- }
- def getLetterForMorse(l):
- for key, value in morse_dict.iteritems():
- if(value == l):
- return str(key)
- def Main():
- parser = optparse.OptionParser('usage: python ImageDecoder.py -i <input PNG image name>')
- parser.add_option('-i',dest='inPNG',type='string',help='Please specify the input image file')
- (options,arg) = parser.parse_args()
- if (options.inPNG == None):
- print parser.usage
- exit(0)
- else:
- inPNG = options.inPNG
- _img = Image.open(inPNG)
- W = _img.size[0]
- H = _img.size[1]
- _pixs = _img.load()
- lastOff = 0
- _letter = ""
- answer = ""
- for y in range(H):
- for x in range(W):
- if(_pixs[x,y] == (255,255,255)):
- offset = y*100 + x - lastOff
- lastOff = y*100 + x
- _char = chr(offset)
- if(_char != ' '):
- _letter += _char
- else:
- answer += getLetterForMorse(_letter)
- _letter = ""
- print answer
- if __name__ == '__main__':
- Main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement