Executando verificação de segurança...
1
Ga0512
2 min de leitura ·

[TUTORIAL] Transformando Imagem para Cartoon em Python

Usando o OpenCV, lib de visão computacional, vamos criar um programinha que transforma uma imagem em um cartoon.

Antes de tudo vamos fazer a instalação do OpenCV para o python no terminal:
pip install opencv-python

Agora sim, vamos começar.

  1. Primeiro vamos fazer a importação da biblioteca OpenCV:
    from cv2 import cv2

  2. Carregamos a imagem
    img = cv2.imread(r'image.jpg')

  3. Convertemos a imagem para a escala cinza, e suavizamos para reduzir os ruídos da imagem e deixa-lá mais facial para processa-lá.
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    gray = cv2.medianBlur(gray, 5)

  4. Detectamos as bordas para destacar as linhas da imagem.
    edges = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 9, 9)

  5. Cartonizamos a imagem, aplicando um filtro bilateral para preservar as bordas da imagem original e imagem final estilo desenho animado é criada aplicando-se a máscara de bordas à imagem suavizada.
    color = cv2.bilateralFilter(img, 9, 250, 250)
    cartoon = cv2.bitwise_and(color, color, mask=edges)

  6. Por fim três imagens são exibidas na tela: a imagem original, a imagem de bordas e a imagem final estilo cartoon. O usuário precisa pressionar qualquer tecla para fechar a janela de exibição.
    cv2.imshow("Image", img)
    cv2.imshow("edges", edges)
    cv2.imshow("Cartoon", cartoon)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

Esse foi o tutorial de como transormar uma imagem para um cartoon em python.
Vou deixar meu repositório onde esse codigo está, junto com uma imagem para vocês testarem.
Feedbacks são bem-vindos, pois pretendo continuar postando e compartilhando tutorias aqui.

Carregando publicação patrocinada...