Следующий код:
import numpy as np
import cv2
import matplotlib.pyplot as plt
image = cv2.imread("FYROJ.png")
gray = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)
thresh = cv2.adaptiveThreshold(gray, 255, cv2.ADAPTIVE_THRESH_MEAN_C, cv2.THRESH_BINARY, 11, 3)
im_contours, contours, hier = cv2.findContours(thresh, mode=cv2.RETR_TREE, method=cv2.CHAIN_APPROX_NONE)
hier = hier[0]
kept_contours = [contour for idx, contour in enumerate(contours) if hier[idx][2] >= 0]
drawing = np.zeros_like(gray)
cv2.drawContours(drawing, kept_contours, -1, color=255)
ret, markers = cv2.connectedComponents(drawing)
watershed_res = cv2.watershed(image, np.int32(markers))
plt.imshow(watershed_res)
plt.show()
Возможно, попробуйте начать отсюда и выберите регионы, где есть много черных пикселей в исходном изображении ...
Синтаксис TaskJuggler довольно легок, но действительно не торопитесь для чтения документации. Мой опыт с TJ:
Однако в действительности ручное планирование принимает во внимание много неявных ограничений, которых TJ требует, чтобы быть сделанным явным для получения реалистического сценария. Это, конечно, верно для каждого инструмента планирования, но я нашел это довольно громоздким, чтобы добавить и отредактировать ручные ограничения в крупных проектах в TJ... Поэтому я нашел это менее подходящим для отслеживания проекта и перепланирования впоследствии.
Я теперь использую OmniPlanner, который является намного более простым инструментом, чем TJ и MSProject, но, оказывается, удовлетворяет моим потребностям (особенно в отслеживании, анализе и создании отчетов).
В управлении проектами нет ничего бесплатного, а управлять сложным проектом с помощью программного обеспечения неизбежно. Настоящий вопрос заключается в том, помогает ли в этом выбранный инструмент?
Task Juggler имеет кривую обучения, и, в конце концов, он подходит для тех, кто не против прочитать руководство (абсолютная необходимость для этого инструмента) и не хочет привязан к графическому вводу. Task Juggler требует , чтобы вы думали о своем проекте и структурировали его осмысленным образом. Будет полезно, если вы сделаете диаграмму заранее (многие пользователи TJ составляют интеллект-карты, и где-то есть инструмент для генерации входных операторов TJ из интеллект-карты FreeMind). Также очень полезно организовать свой входной файл осмысленным образом, чтобы упростить поиск.
Тем не менее, как только вы начнете, создание проекта с TJ станет очень быстрым. Вам не нужно беспокоиться о миллионе диалоговых окон, вы просто говорите TJ, что вы хотите, на языке текста TJ.
Но помимо всего этого, что мне нравится в TJ (и поначалу я его ненавидел из-за унаследованных от других более традиционных инструментов), так это то, что он обеспечивает разумность вашего расписания. OpenProj с радостью распределяет ресурсы на 300% и более. TJ выдаст вам ошибку и заставит исправить ее. Да, это раздражает. Но в конечном итоге у вас есть график проекта, который имеет смысл и действительно может быть выполнен. Представь это!
Как я начал, ничего бесплатного нет. TJ требует изучения и некоторых усилий.Наградой является обширная и обширная отчетность, вся информация, необходимая для управления проектом по затратам и графику, а также применение логичного и надежного подхода к планированию и распределению ресурсов. И это не стоит 499 долларов или что-то еще, что предлагает MSP - это бесплатно.
Я использую Taskjuggler в течение последних 4/5 лет (4 проекта со средней продолжительностью в год и более). Я считаю очень полезным сделать свои первоначальные оценки
Обычно то, что высшее руководство спрашивает о вашем расписании, может быть создано намного быстрее и с более точной детализацией по сравнению с выполнением чего-то подобного с использованием MS Project или других инструментов на основе графического интерфейса.
До недавнего времени я использовал Taskjuggler, чтобы получить начальное расписание, и ms excel для отслеживания проекта.
Я впервые использую жонглер с задачами для реального отслеживания проекта на еженедельной основе.и пока результаты выглядят хорошо.