paraschhabra96

captcha.py

Jun 5th, 2017
28
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. import Image
  2. import ImageFilter
  3.  
  4. def read_captcha(image_path):
  5. def prepare_image(img):
  6. """Transform image to greyscale and blur it"""
  7. img = img.filter(ImageFilter.SMOOTH_MORE)
  8. img = img.filter(ImageFilter.SMOOTH_MORE)
  9. if 'L' != img.mode:
  10. img = img.convert('L')
  11. return img
  12.  
  13. def remove_noise(img, pass_factor):
  14. for column in range(img.size[0]):
  15. for line in range(img.size[1]):
  16. value = remove_noise_by_pixel(img, column, line, pass_factor)
  17. img.putpixel((column, line), value)
  18. return img
  19.  
  20. def remove_noise_by_pixel(img, column, line, pass_factor):
  21. if img.getpixel((column, line)) < pass_factor:
  22. return (0)
  23. return (255)
  24.  
  25.  
  26.  
  27. input_image = image_path
  28. output_image = 'temp_output.png'
  29. pass_factor = 100
  30.  
  31.  
  32. img = Image.open(input_image)
  33. img = prepare_image(img)
  34. img = remove_noise(img, pass_factor)
  35. img.save(output_image)
  36.  
  37. import pytesseract
  38. im = Image.open(output_image)
  39. im.load()
  40.  
  41. import os
  42. os.remove(output_image)
  43.  
  44. return pytesseract.image_to_string(im).lower()
Add Comment
Please, Sign In to add comment