31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
import cv2
|
|
import numpy as np
|
|
|
|
def detect_green_areas(image_path):
|
|
# Carregar a imagem
|
|
image = cv2.imread(image_path)
|
|
|
|
# Converter a imagem para o espaço de cor HSV (mais adequado para segmentação por cor)
|
|
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
|
|
|
|
# Definir o intervalo de cores para detectar áreas verdes (cana)
|
|
lower_green = np.array([40, 40, 40]) # Valores mínimos de cor (Hue, Saturation, Value)
|
|
upper_green = np.array([80, 255, 255]) # Valores máximos de cor (Hue, Saturation, Value)
|
|
|
|
# Criar uma máscara para as áreas verdes (cana)
|
|
mask_green = cv2.inRange(hsv, lower_green, upper_green)
|
|
|
|
# Aplicar a máscara na imagem original
|
|
green_areas = cv2.bitwise_and(image, image, mask=mask_green)
|
|
|
|
# Mostrar a imagem com as áreas verdes identificadas
|
|
cv2.imshow("Green Areas Detection", np.hstack([image, green_areas]))
|
|
cv2.waitKey(0)
|
|
cv2.destroyAllWindows()
|
|
|
|
# Caminho da imagem que você quer analisar
|
|
image_path = 'foto1.jpg'
|
|
|
|
# Chamar a função para detectar as áreas verdes (cana) na imagem
|
|
detect_green_areas(image_path)
|