Primeiramente, criei variáveis para cada uma das 4 variações que foram pedidas (ruído, cinza, vermelho e amarelo). Depois, os armazenadores color corOrig e corDestino. Além disso, foram criadas as variáveis c e media, que vão funcionar como "fixadores", das novas cores criadas.
Para o ruído, são criadas cores aleatórias e colocadas na imagem em posições aleatórias. Pode-se controlar a quantidade de ruído pelo número de pixels alterados que deseja-se obter.
Para o cinza, fazemos o processo de scanline na imagem, e obtemos os valores de vermelho, verde e azul de cada pixel da tela. Depois é feita uma média entre esses valores e exibida novamente.
Para as duas cores pedidas, são adquiridos os valores de vermelho e amarelo da imagem, respectivamente e exibidos na imagem conforme os tons de vermelho são mais presentes nos pixels da imagem, no caso do filtro vermelho, o mesmo vale para o amarelo. Quanto menos houver tais cores nos pixels originais, mais escuro será o pixel modificado.
Resultado:
Link do código: https://drive.google.com/open?id=1zGlORWn3CDJsXRTf8qiueuf8Ro1H-r5S
Nenhum comentário:
Postar um comentário