Умные программисты помогите(

Есть программа на python с open cv которая распознает кол.кругов на кубиках
но есть проблема, я не могу посчитать сколько кругов в каждом кубике, а только сумму итого. Как мне это сделать? формула, алгоритм или что то еще

код в коментах.

Умные программисты помогите(
Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий

import sys

import cv2 as cv

import numpy as np

from collections import Counter

from glob import glob

def main(argv):

## [load]

default_file = 'opencv_frame_6.png'

filename = argv[0] if len(argv) > 0 else default_file

sum = 0

# Loads an image

src = cv.imread(cv.samples.findFile(filename), cv.IMREAD_COLOR)


# Check if image is loaded fine

if src is None:

print ('Error opening image!')

print ('Usage: hough_circle.py [image_name -- default ' + default_file + '] \n')

return -1

## [load]


## [convert_to_gray]

# Convert it to gray

gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)

## [convert_to_gray]


## [reduce_noise]

# Reduce the noise to avoid false circle detection

gray = cv.medianBlur(gray, 5)

## [reduce_noise]


## [houghcircles]

rows = gray.shape[0]

circles = cv.HoughCircles(gray, cv.HOUGH_GRADIENT, 1, rows / 15,

param1=100, param2=28,

minRadius=59, maxRadius=130)


circles1 = cv.HoughCircles(gray, cv.HOUGH_GRADIENT, 1, rows / 21,

param1=150, param2=28,

minRadius=1, maxRadius=50)## [houghcircles]


## [draw]


if circles is not None:

circles = np.uint16(np.around(circles)).astype("int")

color_red = (0,0,255)

for i in circles[0, :]:

center = (i[0], i[1])


# circle center

cv.circle(src, center, 1, (0, 100, 100), 3)

# circle outline

radius = i[2]

cv.circle(src, center,radius,(255, 0, 255), 3)

# большие круги ниже

if circles1 is not None:

circles1 = np.uint16(np.around(circles1)).astype("int")

color_red = (0,0,255)

for i in circles1[0, :]:

center = (i[0], i[1])

# circle center

cv.circle(src, center, 1, (0, 100, 100), 3)

# circle outline

radius = i[2]

cv.circle(src, center, radius, (255, 0, 255), 3)


## [draw]


## [display]


cv.imshow("detected circles", src)

print (circles)

print (circles1)

#print (len(circles[0]))

#print (len(circles1[0]))


cv.waitKey(0)


## [display]


return 0


if __name__ == "__main__":

main(sys.argv[1:]) 

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества