Jump to content
Fórum Script Brasil
  • 0

Tentativa de ruido


Jovaré Ronaldo

Question

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 to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.1k
    • Total Posts
      651.9k
×
×
  • Create New...