Учитывая это изображение икосаэдра, мне нужно найти число треугольников в нем.
ниже приведен код для того же
import cv2
import matplotlib.pyplot as plt
import numpy as np
import imutils
# loading image and thresholding
img = cv2.imread('382-3825690_everything-is-possible-geometric-shapes-icosahedron.png')
gray = cv2.cvtColor(img.copy(), cv2.COLOR_BGR2GRAY)
blurred = cv2.GaussianBlur(gray, (5, 5), 0)
thresh = cv2.threshold(blurred, 0, 255, cv2.THRESH_BINARY_INV)[1]
# plt.imshow(thresh)
# plt.show()
contours = cv2.findContours(thresh.copy(), cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
cnts = imutils.grab_contours(contours)
# getting triangles
img_1 = img.copy()
triangles_found = 0
for c in cnts:
peri = cv2.arcLength(c, True)
approx = cv2.approxPolyDP(c, 0.04 * peri, True)
if len(approx) == 3:
triangles_found += 1
# cv2.drawContours(img_1, c, -1, (0, 255, 0), 3)
# plt.imshow(img_1)
# plt.show()
triangles_found = 14
после выполнения, но когда я рисовал контуры контуров, где нет треугольников
, пожалуйста, кто-нибудь может подсказать мне, как извлечь треугольники?