Ultimas do CanalQb

Python - Criando Arte ASCII a partir de Imagens usando Python e PIL

Python - Abrindo Imagem, e imprimindo em prompt
Canal Qb

Introdução:
Você já imaginou transformar suas imagens favoritas em belas e intrigantes obras de arte ASCII? Neste post, vamos explorar como usar o Python e a biblioteca PIL (Python Imaging Library) para realizar essa tarefa criativa. Vamos mergulhar no processo de abertura de imagens, exibição em uma interface gráfica e conversão para arte ASCII.

Passo 1: Preparando o Terreno
Para começar, importaremos as bibliotecas necessárias: `PIL` para manipulação de imagens e `tkinter` para criar uma interface gráfica simples. Certifique-se de ter instalado essas bibliotecas em seu ambiente Python.
from PIL import Image, ImageTk
import tkinter as tk
Passo 2: Abrindo e Exibindo a Imagem
Primeiro, vamos abrir a imagem escolhida usando a PIL e exibi-la em uma janela usando o `tkinter`. Isso nos permitirá visualizar a imagem original antes de convertê-la em arte ASCII.
caminho_imagem = "screenshot.png"
janela = tk.Tk()
imagem_pillow = Image.open(caminho_imagem)
imagem_tk = ImageTk.PhotoImage(imagem_pillow)
label_imagem = tk.Label(janela, image=imagem_tk)
label_imagem.pack()
janela.mainloop()
Passo 3: Transformando em Arte ASCII
Agora, vamos mergulhar na parte mais emocionante: converter a imagem em arte ASCII! Começaremos redimensionando a imagem para um tamanho menor e, em seguida, transformando os pixels em caracteres ASCII. Vamos ajustar o fator de redução para controlar o tamanho da arte resultante.
largura, altura = imagem_pillow.size
fator_reducao = 0.1  # Ajuste esse valor para controlar o tamanho da arte ASCII
imagem_ascii = imagem_pillow.resize((int(largura * fator_reducao), int(altura * fator_reducao))).convert('L')

# Definindo a tabela de caracteres ASCII
tabela_ascii = '@%#*+=-:. '

# Convertendo pixels para caracteres ASCII
pixels = imagem_ascii.getdata()
ascii_art = ''.join([tabela_ascii[pixel // 32] for pixel in pixels])
largura_ascii = imagem_ascii.width

# Dividindo a arte ASCII em linhas
ascii_art = [ascii_art[index:index + largura_ascii] for index in range(0, len(ascii_art), largura_ascii)]
Passo 4: Exibindo a Arte ASCII
Agora que temos a arte ASCII, vamos exibi-la linha por linha, criando uma incrível representação textual da imagem original.
for linha in ascii_art:
    print(linha)
Conclusão:
Exploramos como criar arte ASCII a partir de imagens usando o Python e a biblioteca PIL. Desde a abertura da imagem até a exibição da arte ASCII, cada etapa ofereceu uma oportunidade de explorar a criatividade e a programação. Então, da próxima vez que quiser dar uma nova vida às suas imagens, experimente essa técnica divertida e compartilhe suas obras-primas ASCII com o mundo!

Resultado:  



Link do Script completo:  https://cb.run/usdW

Nenhum comentário

Comente só assim vamos crescer juntos!

Observação: somente um membro deste blog pode postar um comentário.