raízes de funções
MAC0110 – Introdu¸˜o ` Computa¸˜o ca a ca ´
Turma: Matematica Aplicada e Computacional
Quarto Exerc´ ıcio-Programa Entrega: at´ 2 de julho de 2014 e Um pequeno editor de imagens
Um dos objetivos deste exerc´ ıcio-programa ´ realizar algumas transforma¸˜es em imagens are co mazenadas em arquivos no formato PGM. Este formato, que ´ utilizado para imagens em n´ e ıveis de cinza, ser´ usado neste programa pela sua simplicidade. Cada ponto (pixel) que comp˜e a o uma imagem ´ representado por um inteiro n˜o-negativo que corresponde a uma tonalidade de e a cinza. Os extremos dessa escala de tons de cinza s˜o o n´mero zero, que representa o ”preto”, a u e o n´mero 255, que representa o ”branco”. Uma imagem ´ representada por uma matriz de u e n´meros inteiros n˜o-negativos que correspondem a um n´ de cinza de cada ponto. Os pontos u a ıvel de uma imagem s˜o indexados a partir do canto superior esquerdo, da esquerda para a direita, e a de cima para baixo. Assim, os pontos numa imagem de 200 linhas e 300 colunas est˜o indexados a da seguinte forma:
(0, 0)
(1, 0)
...
(199, 0)
(0, 1)
(1, 1)
...
(199, 1)
...
...
...
...
(0, 299)
(1, 299)
...
(199, 299)
´
E sobre a matriz (chamada de matriz de trabalho) que representa uma imagem, que o programa deve aplicar uma das transforma¸˜es: rota¸˜o, rebater, negativo ou suavizar ru´ co ca ıdos. 1
Fun¸˜es de Transforma¸˜o co ca
Nesta se¸˜o descrevemos as fun¸˜es de transforma¸˜o de imagens que devem ser implementadas ca co ca neste exerc´ ıcio-programa. 1.1
1.1.1
Fun¸˜es de edi¸˜o co ca
Negativo
Figura 1: Negativo: pernalonga-n.pgm
Fazer o negativo de uma imagem consiste em ”inverter” os valores dos pixels; ou seja, os valores pr´ximos de ”branco” se transformam em pr´ximos de ”preto” e vice-versa. Se uma imagem o o est´ representada na matriz a, para obter o seu negativo basta