Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Image
- import ImageFilter
- def read_captcha(image_path):
- def prepare_image(img):
- """Transform image to greyscale and blur it"""
- img = img.filter(ImageFilter.SMOOTH_MORE)
- img = img.filter(ImageFilter.SMOOTH_MORE)
- if 'L' != img.mode:
- img = img.convert('L')
- return img
- def remove_noise(img, pass_factor):
- for column in range(img.size[0]):
- for line in range(img.size[1]):
- value = remove_noise_by_pixel(img, column, line, pass_factor)
- img.putpixel((column, line), value)
- return img
- def remove_noise_by_pixel(img, column, line, pass_factor):
- if img.getpixel((column, line)) < pass_factor:
- return (0)
- return (255)
- input_image = image_path
- output_image = 'temp_output.png'
- pass_factor = 100
- img = Image.open(input_image)
- img = prepare_image(img)
- img = remove_noise(img, pass_factor)
- img.save(output_image)
- import pytesseract
- im = Image.open(output_image)
- im.load()
- import os
- os.remove(output_image)
- return pytesseract.image_to_string(im).lower()
Add Comment
Please, Sign In to add comment