01.
import
cImage
02.
03.
# 7.8
04.
def
preto_branco(imagem_fich, limiar):
05.
""" Transforma para imagem a preto e branco."""
06.
07.
imagem
=
cImage.FileImage(imagem_fich)
08.
largura
=
imagem.getWidth()
09.
altura
=
imagem.getHeight()
10.
11.
nova_imagem
=
cImage.EmptyImage(largura,altura)
12.
13.
for
coluna
in
range(largura):
14.
for
linha
in
range(altura):
15.
pixel
=
imagem.getPixel(coluna,linha)
16.
pixel_aux
=
pixel_cinzento(pixel)
17.
if
pixel_aux.getRed() < limiar :
18.
novo_pixel
=
cImage.Pixel(
0
,
0
,
0
)
19.
else
:
20.
novo_pixel
=
cImage.Pixel(
255
,
255
,
255
)
21.
nova_imagem.setPixel(coluna,linha,novo_pixel)
22.
23.
return
nova_imagem
24.
25.
def
pixel_cinzento(pixel):
26.
""" Converte um pixel para escala de cinzentos."""
27.
vermelho
=
pixel.getRed()
28.
verde
=
pixel.getGreen()
29.
azul
=
pixel.getBlue()
30.
31.
int_media
=
(vermelho
+
verde
+
azul)
/
3
32.
novo_pixel
=
cImage.Pixel(int_media,int_media, int_media)
33.
return
novo_pixel
34.
35.
def
main78(nome_fich,limiar):
36.
# Prepara
37.
imagem
=
cImage.FileImage(nome_fich)
38.
largura
=
imagem.getWidth()
39.
altura
=
imagem.getHeight()
40.
# Converte
41.
nova_imagem
=
preto_branco(nome_fich,limiar)
42.
# Cria janela
43.
janela
=
cImage.ImageWin(
'Preto e Branco'
,
2
*
largura ,altura )
44.
# Mostra
45.
imagem.draw(janela)
46.
nova_imagem.setPosition(largura,
0
)
47.
nova_imagem.draw(janela)
48.
# Termina
49.
janela.exitOnClick()
50.
51.
if
__name__
=
=
'__main__'
:
52.
main78(
'/tempo/imagens/duck3.jpg'
,
128
)
Executando o código para a imagem e limiar dados, obtemos a imagem seguinte.

Sem comentários:
Enviar um comentário