Ir para conteúdo
Fórum Script Brasil
  • 0

Tentativa de ruido


Jovaré Ronaldo

Pergunta

Olá a todos.

Tenho trabalhado recentemente no python com a criação e alteração de imagens, coisas como trasnformar em preto e branco, criar o negativo, criar gráficos e manipulações desse tipo. Agora mesmo estava fazendo um código para criar uma imagem de ruido preto e branco, algo bem simples, como aquelas televisões que não dão sinal, mas por algum motivo o código que criei está criando imagens com linhas horizontais como códigos de barra. Consegui fazer o código funcionar de outra forma, mas gostaria de entender o porque de ele não funcionar dessa.

 

As bibliotecas que estou usando são a PIL (Pillow) para criação de imagens e a tqdm (tqdm) para obter o progresso do código ao decorrer de sua execução.

Uma das imagens geradas pode ser acessada a partir do seguinte link (Não consegui inserir diretamente):

https://1drv.ms/i/s!AgQ6Ql2LZW9thMRVyIUc-7y7aMu_3A?e=9joJFu

 

Código:

 
print("$$$ Progama iniciado")
 
from PIL import Image
from tqdm import tqdm
import random
 
# Declaração do tamanho dos lados da imagem. Ela é será um quadrado.
imageSqrSize = 512
 
# Criação do array que define a imagem. O array criado tem o mesmo número de pixels da imagem, sendo "x" arrays menores dentro do array "noise" para representar as linhas e "y" itens dentro dos arrays "noise[xyz]" para representar os pixels de cada linha xyz.
noise = [] #array maior
semiNoise = [] #array menor
 
for a in range(imageSqrSize😞
    semiNoise.append(0)
for b in range(imageSqrSize😞
    noise.append(semiNoise)
 
# Criação de pontos aleatórios em cada item no array
for x in tqdm(range(imageSqrSize), "Criando pontos aleatórios"😞
    for y in range(imageSqrSize😞
        noise[x][y] = random.randint(0, 1)
 
# Criação da imagem a partir dos pixels no array
newImage = Image.new("L", (imageSqrSize, imageSqrSize), "black")
for x in tqdm(range(imageSqrSize), "Transcrevendo imagem"😞
    for y in range(imageSqrSize😞
        if noise[x][y]:
            newImage.putpixel((x, y), 255)    
     
# Aqui a imagem é salva. Caso tenha algum problema em salva, tente trocar a localização do arquivo. 
newImage.save("Noise.png")
print("$$$ Imagem salva")
print("$$$ Fim do programa")
 
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Não sei exatamente o problema, não fui por esse lado, gostaria apenas de dizer que primeiro você deve fazer a solução mais simples possível e depois incrementar

from PIL import Image
import random
                                               imageSqrSize = 512                                                                             newImage = Image.new("L", (imageSqrSize, imageSqrSize), "black")                                                      
for x in range(imageSqrSize):
    for y in range(imageSqrSize):                                  newImage.putpixel((x, y), random.randint(0, 255)    )                                                                                                                    newImage.save("Noise.png")

 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...