import cv2 import numpy as np # Carregar a imagem image = cv2.imread('foto2.jpg') # Substitua 'sua_imagem.jpg' pelo caminho da sua imagem # Converter para tons de cinza gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) # Criar uma máscara para destacar a região de interesse (por exemplo, caules das canas) lower_color = np.array([0, 0, 0]) # Valores de cor da região de interesse upper_color = np.array([100, 100, 100]) mask = cv2.inRange(image, lower_color, upper_color) # Aplicar a máscara na imagem em tons de cinza masked_gray = cv2.bitwise_and(gray, gray, mask=mask) # Aplicar a detecção de bordas usando o algoritmo de Canny na região de interesse edges = cv2.Canny(masked_gray, 50, 150, apertureSize=3) # Encontrar linhas na região de interesse usando a transformada de Hough lines = cv2.HoughLinesP(edges, 1, np.pi / 180, threshold=100, minLineLength=100, maxLineGap=10) # Desenhar as linhas identificadas na imagem original if lines is not None: for line in lines: x1, y1, x2, y2 = line[0] cv2.line(image, (x1, y1), (x2, y2), (0, 255, 0), 2) # Criar uma janela redimensionável cv2.namedWindow('Linhas de Caules de Cana', cv2.WINDOW_NORMAL) # Mostrar a imagem resultante cv2.imshow('Linhas de Caules de Cana', image) cv2.waitKey(0) cv2.destroyAllWindows()