28 lines
909 B
Python
28 lines
909 B
Python
import cv2
|
|
import numpy as np
|
|
|
|
# Carregando a imagem
|
|
image = cv2.imread('foto4.jpg')
|
|
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
|
|
|
|
# Aplicando threshold para destacar elementos de interesse
|
|
_, thresh = cv2.threshold(gray, 150, 255, cv2.THRESH_BINARY)
|
|
|
|
# Encontrando contornos na imagem
|
|
contours, _ = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
|
|
|
|
# Iterando pelos contornos encontrados
|
|
for contour in contours:
|
|
# Calculando o contorno aproximado
|
|
epsilon = 0.01 * cv2.arcLength(contour, True)
|
|
approx = cv2.approxPolyDP(contour, epsilon, True)
|
|
|
|
# Se o contorno aproximado tiver um número de vértices específico (por exemplo, 4 para um retângulo), desenhe-o
|
|
if len(approx) == 4:
|
|
cv2.drawContours(image, [approx], -1, (0, 255, 0), 2)
|
|
|
|
# Mostrando a imagem com os contornos identificados
|
|
cv2.imshow('Contours', image)
|
|
cv2.waitKey(0)
|
|
cv2.destroyAllWindows()
|