ADENDO: O professor mencionou no video explicativo da atividade a não utilizar bibliotecas externas, converter a image via hardcode.
Este projeto é uma implementação em Python que realiza a transformação de uma imagem colorida (RGB) para níveis de cinza (escala de cinza) e, em seguida, para uma imagem binarizada (preto e branco). Sem o uso de bibliotecas externas, o código apenas utiliza a biblioteca tkinter para selecionar a imagem de entrada e salvar as imagens processadas.
- Conversão para Escala de Cinza: Converte uma imagem RGB para escala de cinza usando a fórmula de luminância.
- Conversão para Binária: Aplica um limiar (threshold) à imagem em escala de cinza para criar uma imagem binária (preto e branco).
- Interface Simples: Usa uma interface gráfica para selecionar a imagem de entrada e salvar as imagens processadas.
- Sem Dependências Externas: O código não utiliza bibliotecas externas além do
tkinter(já incluído no Python). - Carregamento e Salvamento de Imagens: O projeto permite carregar uma imagem BMP e salvar as imagens processadas (escala de cinza e binarizada) no mesmo diretório do arquivo original, com nomes modificados para indicar o tipo de processamento.
- Python 3.x
- Biblioteca
tkinter(geralmente incluída na instalação padrão do Python) - Uma imagem BMP para teste (o código foi testado com imagens de 24 bits).
- Sem o uso de bibliotecas externas, possui uma retrição de usar apenas imagens em formato .bmp
-
Clone o repositório:
git clone [email protected]:wekers/imageConvert-toGrayAndBinary.git cd imageConvert-toGrayAndBinary
-
Execute o script:
python3 imageConvert-toGrayAndBinary.py
-
Selecione uma imagem BMP:
- Uma janela de diálogo será aberta para que você selecione uma imagem BMP para processamento.
-
Resultados:
| Imagem | Tipo |
|---|---|
![]() |
Imagem Original RGB |
![]() |
Imagem em Escala de Cinza |
![]() |
Imagem Binária |
-
rgb_to_grayscale(image):Converte uma imagem RGB para escala de cinza. -
grayscale_to_binary(grayscale_image, threshold=128):Converte uma imagem em escala de cinza para binária, utilizando um limiar (threshold) para determinar se o pixel será preto ou branco. -
load_image(file_path):Carrega uma imagem BMP e a converte para uma matriz 3D (RGB). -
save_image(image, file_path, is_binary=False):Salva uma imagem (escala de cinza ou binária) como um arquivo BMP. -
main():Função principal que gerencia a seleção de arquivos, processamento e salvamento das imagens.
-
O código foi projetado para funcionar com imagens BMP de 24 bits.
-
As dimensões da imagem são fixas em 512x512 pixels no exemplo. Para imagens com dimensões diferentes, é necessário ajustar o código.
-
Não há suporte para outros formatos de imagem (como JPEG ou PNG) sem o uso de bibliotecas externas.
-
Execute o script
imageConvert-toGrayAndBinary.py. -
Selecione uma imagem BMP no diálogo de arquivo.
-
O script processará a imagem e salvará as versões em escala de cinza e binarizada no mesmo diretório da imagem original.
Nota: Este projeto foi desenvolvido como uma implementação básica para fins educacionais. Para processamento de imagens mais avançado, considere utilizar bibliotecas como PIL (Pillow) ou OpenCV.




