Vilarejo PK2P
Bem-vindo ao fórum Vilarejo PK2P! O fórum oficial do canal Press Key to Play do Youtube!

Participe do fórum, é rápido e fácil

Vilarejo PK2P
Bem-vindo ao fórum Vilarejo PK2P! O fórum oficial do canal Press Key to Play do Youtube!
Vilarejo PK2P
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Grupo para reunir as pessoas que acompanham os vídeos no canal Press Key to Play e discutir os assuntos abrangidos pelo Blog PK2P.

Últimos assuntos

» RPG de Mesa: A fronteira Volume 4: O Castelo Owlrick. (D&D5e)
por Ariano 10/12/2020, 23:18

» [tutorial] hash em C/C++ com openssl
por kodo no kami 21/9/2020, 13:37

» ping lista grafico
por kodo no kami 24/7/2020, 07:53

» [Discord] Campanha de RPG D-cyber
por Jonatan15 17/7/2020, 11:11

» [tradução] 1869 (msdos)
por kodo no kami 26/6/2020, 13:43

» [source] exemplo filtro mediano
por kodo no kami 1/6/2020, 00:24

» [tutorial] criar filtro nas imagens (python)
por kodo no kami 22/5/2020, 19:29

» Wireless IDS Sagemcom
por kodo no kami 22/4/2020, 23:50

» [source] detectar dispositivos no wifi (sagemcom)
por kodo no kami 9/3/2020, 20:25

» [tutorial] wla assemblador (65xx, 68xx, z80, 8008, 8080 e huc6280)
por kodo no kami 2/2/2020, 16:42


Você não está conectado. Conecte-se ou registre-se

[tutorial] efeito cinzento nas imagens

Ir para baixo  Mensagem [Página 1 de 1]

kodo no kami

kodo no kami

e ae galera nesse topico vamos aprender como deixar uma imagem mais cinzenta sem cores, vamos fazer isso programando esse efeito na mão, vou utilizar a linguagem python com modulo PIL embora possa ser feito em qualquer outra linguagem de sua preferencia. A imagem que vou usar nesse tutorial é da Last Order do anime To Aru diz misaka misaka '-'

[tutorial] efeito cinzento nas imagens A1KkPam

para começar importamos o modulo PIL (é necessario que esteja instalado no seu sistema, não vou abordar a instalação dele)

Código:
#!/usr/bin/python3

from PIL import Image

com o modulo importado basta a gente carrega a imagem desejada usando o metodo open, passamos como argumento para ele o local da imagem (no meu caso vou usar uma imagem fixa, o recomendado é que esse local seja passado pelo usuario como um input ou alguma coisa desse tipo)

Código:
#!/usr/bin/python3

from PIL import Image

img = Image.open("last.jpg")

agora precisamos retornar a largura e altura da imagem para conseguir ler cada pixel dela, para isso usamos o atributo size que retorna uma tupla com largura e altura

Código:
#!/usr/bin/python3

from PIL import Image

img = Image.open("last.jpg")
tam = img.size

vamos criar um loop para correr cada pixel da largura e dentro dele criamos outro loop para correr cada pixel da altura, com isso vamos correr pixel a pixel da imagem

Código:
#!/usr/bin/python3

from PIL import Image

img = Image.open("last.jpg")
tam = img.size

contx = 0
while contx < tam[0]:
 conty = 0
 
 while conty < tam[1]:
 conty += 1
 
 contx += 1

dentro do segundo loop pegamos a cor do pixel com o metodo getpixel, nesse metodo passamos como argumento a posição daquele pixel para ter uma tupla como retorno a cor em formato RGB

Código:
#!/usr/bin/python3

from PIL import Image

img = Image.open("last.jpg")
tam = img.size

contx = 0
while contx < tam[0]:
 conty = 0
 
 while conty < tam[1]:
 cor = img.getpixel((contx,conty))
 conty += 1
 
 contx += 1

uma das formas de deixar essa imagem mais cinza seria manipular a cor alternando o mais proximo entre o preto e o branco, uma outra forma ate mais simples seria deixar as 3 cores principais do RGB com o mesmo valor (o legal seria tirar uma media dos 3 valores RGB e atribuir o resultado aos 3)

Código:
#!/usr/bin/python3

from PIL import Image

img = Image.open("last.jpg")
tam = img.size

contx = 0
while contx < tam[0]:
 conty = 0
 
 while conty < tam[1]:
 cor = img.getpixel((contx,conty))
 media = (cor[0] + cor[1] + cor[2]) // 3
 cor = (media,media,media)
 conty += 1
 
 contx += 1

para a gente atribuir aquela cor naquele pixel usamos putpixel, passamos como argumento a posição e por fim a nova cor

Código:
#!/usr/bin/python3

from PIL import Image

img = Image.open("last.jpg")
tam = img.size

contx = 0
while contx < tam[0]:
 conty = 0
 
 while conty < tam[1]:
 cor = img.getpixel((contx,conty))
 media = (cor[0] + cor[1] + cor[2]) // 3
 cor = (media,media,media)
 img.putpixel((contx,conty),cor)
 conty += 1
 
 contx += 1

é possivel exibir a imagem com o metodo show ou podemos salvar ela com o metodo save e exibir em algum programa

Código:
#!/usr/bin/python3

from PIL import Image

img = Image.open("last.jpg")
tam = img.size

contx = 0
while contx < tam[0]:
 conty = 0
 
 while conty < tam[1]:
 cor = img.getpixel((contx,conty))
 media = (cor[0] + cor[1] + cor[2]) // 3
 cor = (media,media,media)
 img.putpixel((contx,conty),cor)
 conty += 1
 
 contx += 1

img.show()
img.save("last_gray")

[tutorial] efeito cinzento nas imagens EsJkQpk

bom galera é isso \o

by kodo no kami

https://eofclub.in/forum

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos