An open API service indexing awesome lists of open source software.

https://github.com/danielaraldiedu/image-processor

Trabalho de processamento de imagens em Python.
https://github.com/danielaraldiedu/image-processor

matplotlib numpy opencv python

Last synced: about 2 months ago
JSON representation

Trabalho de processamento de imagens em Python.

Awesome Lists containing this project

README

          


Processador de Imagens


Trabalho de descrição de um processador digital de imagens feito por Daniel Sansão Araldi e Jonathas Meine


Wakatime


### Como executar

1. Na raiz do projeto.
2. Execute o seguinte comando abaixo:

```sh
python main.py
```


### Descrição do Trabalho

#### Introdução

Nosso trabalho foi desenvolvido em torno da conversão de imagens RGB para grayscale ponderado. Abaixo iremos descrever as etapas de execução do código para a conversão da imagem em grayscale.

#### Etapas:

1. **Bibliotecas**: Realizamos a instalação das bibliotecas [OpenCV](https://opencv.org/) e [Numpy](https://numpy.org/). A OpenCV é a biblioteca que utilizamos para lidar com o processamento de imagens e o Numpy é a biblioteca que utilizamos para processar grande quantidade de dados númericos multidimensionais. Realizamos a importação de ambas as bibliotecas usando a sintaxe de `import ` no código, com isso, podemos trabalhar com suas funções.

2. **Leitura da Imagem**: Criamos uma varíavel chamada `image` que irá receber o valor da imagem. Usamos a função `imread` da biblioteca OpenCV para retornar o valor da imagem a varíavel `image`. A função `imread` faz a leitura de uma imagem, apenas passando o caminho de onde está o arquivo da imagem a ser lida.

3. **Separação do Valores RGB**: Definimos três novas variáveis, chamadas `blue`, `green` e `red`, que irão receber o valor de uma matriz retornada pela função `split` da biblioteca OpenCV, que separa um `array` de várias matrizes para matrizes únicas separadas. Assim, no nosso caso, são separadas as matrizes correspondentes às proporções de RGB da imagem para trabalhar com cada escala de cor de modo diferente.

4. **Cálculo da Imagem para Grayscale**: Temos uma varíavel chamada `imageGrayscalePondered` que irá receber a matriz que correspondente ao grayscale da imagem, a partir do cálculo realizado com as proporções de RGB (das varíaveis `blue`, `green` e `red`). Recorremos a função `array` da biblioteca Numpy para criar um novo `array` de matrizes, a partir da varíável `imageGrayscalePondered` e forçamos que o tipo dos valores das matrizes do `array` será `uint8` (um inteiro de 8 bits). Sendo assim, é atribuído o valor desse `array` de matrizes a variável `imageGrayscalePondered`.

5. **Mostrar a Imagem**: Por fim, usamos a função `imshow` do OpenCV para mostrar a imagem convertida em grayscale. Adicionamos a função `waitKey` que espera o clique de alguma tecla, para assim, executar a função `destroyAllWindows` logo abaixo (também são funções da biblioteca OpenCV), que irá fechar a janela que esta exibindo a imagem e finalizar a execução do código.


**Obs.:** Nós mudamos os nomes das variáveis e das imagens originais para ficarem autoexplicativas. Não mudamos nada da lógica do código, apenas explicamos.