Nesse desafio o objetivo era automatizar o processo de identificar semelhanças ou diferenças entre duas ou mais imagens. Essa tarefa é particularmente útil em diversas aplicações, como reconhecimento de padrões, verificação de autenticidade de documentos, detecção de plágio, entre outros.
- As imagens fornecidas para avaliar essa semelhança ou diferença foram as seguintes:
Utilizei três métodos, em cada um aplicando técnicas de visão computacional:
- No primeiro método, utilizei os índices de Sensoriamento Remoto para visualizar a biomassa da vegetação nas imagens RGB e diferenciar entre o solo exposto (vermelho) e a biomassa foliar (verde). Para isso, utilizei o Índice de Folha Verde (GLI). Em seguida, calculei a quantidade de pixels que representavam o solo exposto e a biomassa da planta. Caso outra imagem apresentasse a mesma quantidade de pixels dessas duas categorias, seria declarada como semelhante; caso contrário, seria considerada diferente.
- Rodando com imagens diferentes:
- Rodando com uma das imagens iguais:
- No segundo método, com o TensorFlow realizei a transformação das imagens em dados tensoriais, posteriormente convertendo-os em vetores para melhorar a eficiência computacional e de armazenamento. Procurei outras imagens que tivessem essa mesma correlação dos vetores para declará-las como semelhantes. Caso não houvesse semelhança com alguma imagem, ela seria considerada diferente.
- Rodando com imagens diferentes:
- Rodando com uma das imagens iguais:
- No terceiro método, utilizei o OpenCV para calcular a diferença entre os pixels em duas imagens e estabeleci que se a diferença entre os pixels de duas imagens fosse menor que 30, elas seriam consideradas semelhantes.
- Rodando com imagens diferentes:
- Rodando com uma das imagens iguais:
Altere o caminho para localizar as imagens e embaralhe-as para testar o script.