noob здесь.Область множественных блобов в двоичном изображении python
У меня есть (вид) бинарного изображения, которое содержит известное количество блоков, которые различаются по форме и размеру. Значения пикселей в каждом блоке эквивалентны индексу blob. Я хотел бы обработать (используя моменты) только самые большие 5 капель.
В настоящий момент я повторяю каждый подключенный пиксель, увеличивая переменную, чтобы получить область каждого блока (см. Код ниже). Затем я обрабатываю только самые большие капли, как требуется, однако этот метод итерации пикселей очень медленный в python.
for i in range(1, objectCount):
zm=0.0
for h in range(im.height):
for w in range(im.width):
pixVal = cv.Get2D(im, h, w)
if (pixVal[0] == i):
zm=zm+1
objectArea.append([int(zm)])
Есть ли более быстрый способ сделать это?
Приветствия Muffo, это briliantly умная идея! Я сохраняю итерацию через пиксели, которые являются наиболее трудоемкими задачами. – PDF417
Спасибо! Если вы считаете, что мой ответ решает вашу проблему, отметьте его как правильно :) – Muffo
Спасибо .... просто сделал. – PDF417