Este script demonstra como utilizar as bibliotecas OpenCV, NumPy e Matplotlib para realizar a detecção de bordas e contornos em uma imagem. O script também inclui a conversão da imagem original para preto e branco e a aplicação de um filtro de ruído.
Este script depende das seguintes bibliotecas Python:
- OpenCV (cv2)
- NumPy
- Matplotlib
Certifique-se de ter essas bibliotecas instaladas em seu ambiente Python antes de executar o script.
Clone este repositório em seu computador.
Certifique-se de que as bibliotecas listadas acima estejam instaladas.
Faça o download do arquivo de imagem
CASTELO_01.jpegpara o mesmo diretório onde o script Pythondeteccao_bordas_contornos.pyestá localizado.Abra um terminal ou prompt de comando na pasta onde os arquivos estão localizados.
Execute o seguinte comando para rodar o script:
python deteccao_bordas_contornos.pyAguarde até que a figura com as imagens resultantes seja mostrada na tela.
Para sair do programa, feche a janela da figura exibida.
Observação: o script está configurado para utilizar a imagem CASTELO_01.jpeg. Caso deseje utilizar uma imagem diferente, basta alterar o caminho para o arquivo na linha de código img = cv2.imread('./CASTELO_01.jpeg').
O script carrega uma imagem colorida em formato JPEG utilizando a biblioteca OpenCV e converte para o espaço de cores RGB. Em seguida, a imagem é convertida para preto e branco e um filtro de ruído é aplicado utilizando a função cv2.blur.
Para a detecção de bordas, a função cv2.Canny é utilizada tanto na imagem original em preto e branco quanto na imagem com filtro de ruído. A diferença entre as duas imagens de borda é evidenciada durante o processo de detecção de contornos.
Os contornos são encontrados utilizando a função cv2.findContours e são desenhados na imagem original utilizando a função cv2.drawContours. Por fim, todas as imagens resultantes são exibidas em uma única figura utilizando a biblioteca Matplotlib.
Contribuições são bem-vindas. Se você encontrar algum problema com o script ou tiver sugestões de melhorias, sinta-se à vontade para abrir uma issue ou um pull request neste repositório.