Índice:

Processador de imagem codificado GET1033 Python: 5 etapas
Processador de imagem codificado GET1033 Python: 5 etapas

Vídeo: Processador de imagem codificado GET1033 Python: 5 etapas

Vídeo: Processador de imagem codificado GET1033 Python: 5 etapas
Vídeo: PROBLEMA NO RECEPTOR DUOSAT | RESOLVA EM POUCOS MINUTOS | AGOSTO 2023 | APARELHO CODIFICADO 2024, Novembro
Anonim
Processador de imagem codificado GET1033 Python
Processador de imagem codificado GET1033 Python

Este projeto é sobre como criar meu próprio processador de imagens codificadas em Python para o meu módulo, GET1033 Exploring Computational Media Literacy. Em primeiro lugar, o usuário precisará inserir uma foto própria e, em seguida, selecionar os filtros que deseja. Criei 9 filtros que são: Mostrar a imagem de entrada, Espelho, Colocar atrás da barra, Colocar atrás da barra transparente, Círculo de imagem, Desfoque, Rotação, Mudança de cor e Photoshop. Depois de selecionar um deles, a imagem de saída terá os efeitos. Conforme mostrado na imagem, é o filtro para mudança de cor onde eu detecto os pixels de cor verde na imagem e os converto para a cor rosa.

Etapa 1: Processo de fabricação

Processo de fabricação
Processo de fabricação

Etapa 1: Baixe Python aqui!

Etapa 2: codifique!

Em primeiro lugar, importei alguns pacotes com funções pré-codificadas disponíveis para uso no código. Os pacotes que importei são Scipy, Matplot e Numpy.

Para Scipy, importei diversas rotinas (MISC) e processamento de imagens multidimensionais (NDIMAGE). O MISC serve para ler e salvar a imagem, enquanto o NDIMAGE serve para realizar o filtro gaussiano e girar.

Para Matplotlib, é uma biblioteca para plotagem de gráfico em Python que fornece uma interface semelhante ao MATLAB.

Para Numpy, é uma biblioteca que pode suportar matrizes e matrizes grandes e multidimensionais. Numpy é importante porque me permite editar a matriz de vermelho, verde e azul (RGB) das imagens de forma eficiente quando estou adicionando ou multiplicando a matriz. Por exemplo, A = [0, 1, 2] e com a presença de Numpy, A * 2 = [0, 2, 4] em vez de obter A * 2 = [0, 1, 2, 0, 1, 2].

Quando estou trabalhando no filtro para Mudança de Cor, estou tentando converter o cabelo verde da menina para a cor rosa. Então, o que eu fiz foi detectar os pixels de cor verde na imagem e multiplicá-los por (2, 0,2, 0,8). Assim, vou obter uma garota de cabelo rosa em vez do cabelo verde real.

Quanto ao Photoshop, estou tentando substituir o fundo verde na imagem dos Vingadores por uma imagem de NUS. Então, o que fiz foi multiplicar 0 por todos os pixels verdes e depois adicionar os pixels da imagem do NUS aos pixels verdes. Isso me dará uma foto dos Vingadores em NUS.

Também anexei meu código no GitHub e você pode baixá-lo aqui!

Etapa 2: Como funciona?

Como funciona?
Como funciona?

O fluxograma está anexado para mostrar como todo o código funciona!

1. Primeiro, o usuário é solicitado a inserir uma imagem de sua escolha. 2. Em seguida, mostrará a lista de filtros que o usuário pode escolher. 3. Se o usuário inseriu '1' a '9', a imagem será processada e gerada de acordo com cada filtro.4. Se o usuário inseriu 'R', todo o programa será reiniciado e o usuário será solicitado a carregar uma imagem novamente.5. Se o usuário inserir 'Q', o programa sairá do loop.

Etapa 3: o que ele faz?

Neste projeto, há um total de 9 filtros que criei, nomeadamente

1. Mostrar a imagem de entrada - Para mostrar a imagem que foi carregada

2. Imagem Espelhada - Uma duplicação refletida de um objeto, mas é invertida na direção

3. Put Behind Bar - Inserindo barras verticais pretas com largura e espaçamento igual a 50 pixels.

4. Colocar atrás da barra transparente - Inserir barras verticais transparentes com largura e espaçamento igual a 50 pixels

5. Imagem do Círculo - Para fazer um círculo no centro da imagem

6. Desfoque - Para desfocar a imagem

7. Rotação - Para girar a imagem em 45 graus

8. Mudança de cor - Para mudar a cor verde para rosa

9. Photoshop - Para alterar uma parte de uma imagem por outra imagem

Etapa 4: Por que eu fiz isso?

Anteriormente, estou curioso para saber como o Instagram e o Snapchat criaram filtros para as fotos que as tornaram tão interessantes. Após a palestra e tutorial sobre Realidade Aumentada, eu queria fazer algo relacionado a isso, mas gostaria de começar do básico que é processamento de imagens porque sou fraco em programação e gostaria de aprender a codificação Python.

Etapa 5: Melhorias e o que as versões futuras farão?

Uma das melhorias para este projeto é criar meus próprios Filtros Faciais em vídeos ao vivo usando Python. Tentei codificar isso, mas não consegui realizar nenhum deles devido à falta de conhecimento de programação e restrição de tempo. Além disso, o processador de imagem pode ser "mais inteligente", onde pode detectar automaticamente as cores e alterar apenas as partes que desejamos. Há um momento em que estou tentando mudar o cabelo preto de uma pessoa para outra cor. Acabo mudando a cor dos olhos e do cabelo para azul, o que deixa a imagem muito estranha. Espero ser capaz de criar meu próprio rosto

Recomendado: