Простое распознавание объектов
=== решаемые ===
Спасибо за ваши предложения и комментарии. Работая над алгоритмом flood_fill, приведенным вНачало Python Визуализация книга (Глава 9 - Обработка изображений) Я реализовал то, что хотел. Я могу подсчитать объекты, получить прямоугольники для каждого объекта (следовательно, высоту и ширину) и, наконец, построить NumPy-массивы или матрицы для каждого из них.
Хотя это не оптимизированный подход, он делает то, что я хочу. Исходный код (lab2.py) и файл png (lab2-частицы.png), который я использую, помещены подhttp://code.google.com/p/ccnworks/source/browse/#svn/trunk/AtSc450.
Вам нужны NumPy и PIL, а также matplotlib, чтобы увидеть гистограмму. Ядро кода находится внутри функции objfind, где происходит основное действие поиска рекурсивного объекта.
Еще одно обновление:
SciPy-хndimage.label () делает именно то, что я тоже хочу.
Приветствия дляДэвид-Варде Фарли а такжеЗахари Пинкус из списков рассылки NumPy и SciPy, которые указывают мне прямо в глаза :)
=============
Привет,
У меня есть изображение, которое содержит тени частиц льда, измеренных спектрометром частиц. Я хочу иметь возможность идентифицировать каждый объект, чтобы потом можно было классифицировать и использовать их в своих расчетах.
По сути, я хочу просто реализовать нечеткий инструмент выбора, где я могу просто выбрать каждую сущность.
Как я мог легко решить эту проблему? (Желательно с использованием Python)
Благодарю.
ПРИМЕЧАНИЕ. В моем вопросе я имею в виду каждый конкретный связанный пиксель как объект или объект. Мое намерение извлечь их и создать представления массива NumPy, как показано ниже. (Здесь я использую левый верхний объект; если пиксель существует, используйте 1 's, если не использовать 0 's. Этот объектs имеет форму 3 на 3, что соответствует высоте 3 пикселя на 3 пикселя. Это проекции реальных ледяных частиц на двумерную область при условии, что они имеют сферическую форму, а эквивалентный радиус равен (высота + ширина) / 2, а затем последуют некоторые масштабирования - от пикселей до фактических размеров и расчета объема).
import numpy as np
np.array([[1,1,1], [1,1,1], [0,0,1]])
array([[1, 1, 1],
[1, 1, 1],
[0, 0, 1]])
Вот часть изображения, которое я собираюсь использовать.
скриншот http://img43.imageshack.us/img43/2327/particles.png