|
- import cv2
- import os
- import glob
- import numpy as np
-
-
- def tratar_imagens(pasta_origem, pasta_destino='captcha_tratado'):
- arquivos = glob.glob(f'{pasta_origem}/*')
- for arquivo in arquivos:
- imagem = cv2.imread(arquivo)
- imagem_cinza = cv2.cvtColor(imagem, cv2.COLOR_RGB2GRAY)
- _, imagem_tratada = cv2.threshold(imagem_cinza, 127, 255, cv2.THRESH_BINARY or cv2.THRESH_OTSU)
-
- image = imagem_tratada
- _, binary_image = cv2.threshold(image, 128, 255, cv2.THRESH_BINARY_INV)
- kernel = np.ones((2, 2), np.uint8)
- opened_image = cv2.morphologyEx(binary_image, cv2.MORPH_OPEN, kernel)
- result_image = cv2.bitwise_not(opened_image)
-
- nome_arquivo = os.path.basename(arquivo)
- cv2.imwrite(f'{pasta_destino}/{nome_arquivo}', result_image)
-
- if __name__ == "__main__":
- tratar_imagens('captcha_images')
|