Я читаю статью об анализе компоновки и хочу кодировать метод, используя Python и Opencv.
В статье он использовал метод связанных компонентов для обнаружения букв текста, после чего выполнил некоторые функции для извлечения всех макетов.
Итак, я пытаюсь сделать это на python, и я использовал функцию connectedComponentsWithStats в Opencv для получения подключенных компонентов.
image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
image_threshold = cv2.threshold(image_gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)[1]
nb_components, output, stats, centroids = cv2.connectedComponentsWithStats(image_threshold, connectivity=8)
for i in range(0, nb_components):
x_min = stats[i, 0]
y_min = stats[i, 1]
x_max = stats[i, 0] + stats[i, 2]
y_max = stats[i, 1] + stats[i, 3]
cv2.rectangle(self.image, (x_min, y_min), (x_max, y_max), (0, 255, 0), 3)
Итак, я хочу получить такой результат:
но я получаю что-то вроде этого, где обнаруживаются только круглые компоненты:
Исходное изображение