Este código em Python utiliza a biblioteca OpenCV para identificar e contar plantas em uma imagem, utilizando a cor verde como filtro para extrair as regiões de interesse.
Para utilizar o código, é necessário fornecer a distância da amostra do solo, que é uma medida da resolução de imagem do drone, representada pelo GSD (Ground Sample Distance) em inglês. Com uma imagem capturada por um drone com uma resolução de 0,2 a 1,2 centímetros por pixel (GSD), é possível identificar e contar a quantidade de plantas em uma determinada área;
Para analisar uma imagem, é preciso modificar o arquivo para que seja aberto corretamente. Por enquanto, o código suporta apenas arquivos PNG, mas pode ser atualizado futuramente para suportar arquivos TIFF;
Para que o filtro verde funcione corretamente, é necessário ajustar o intervalo de cor verde para a imagem específica que está sendo analisada. Isso é importante porque cada imagem e cultura tem uma cor diferente e precisa ser corrigida.
Logica aplicada: A lógica do código começa lendo uma imagem e convertendo-a para o espaço de cores HSV. Em seguida, define um intervalo de cor verde e cria uma máscara binária para os pixels que se encontram dentro desse intervalo.
A imagem é então submetida a um filtro morfológico para remover ruídos e a função findContours() é usada para identificar os contornos das regiões verdes na imagem. Com os contornos identificados, é calculado o centro de cada planta e um círculo vermelho é desenhado em torno do centro.
Esse código estará em constante atualização porque é importante observar que a detecção de plantas pode não ser precisa o suficiente utilizando somente um filtro de cor verde. Para aprimorar a eficácia do código, são necessárias técnicas mais avançadas de processamento de imagem. Além disso, é crucial tratar possíveis erros que possam surgir durante a execução do código e otimizar sua eficiência.