|
2 / 2 / 0
Регистрация: 04.05.2013
Сообщений: 22
|
|||||||||||
Подсчёт количества объектов изображения10.05.2013, 18:42. Показов 7555. Ответов 26
Метки нет (Все метки)
Добрый вечер, господа.
Моя драма в следующем: Стоит задача посчитать количество объектов на картинке с монохромным фоном, а так-же их площадь. Поиск решения привёл меня к этой статье - http://habrahabr.ru/post/119244/ Но алгоритмы в ней описаны, к сожалению, применительно к SCILab'у. Может быть у кого-нибудь завалялся пример реализации чего-то подобного средствами с++ builder'а? Из похожего я наткнулся на код для определения цвета пикселя под курсором
Буду предельно благодарен за любую помощь, или указания вектора поиска. Заранее спасибо.)
1
|
|||||||||||
| 10.05.2013, 18:42 | |
|
Ответы с готовыми решениями:
26
подсчет количества слов в тексте Подсчет количества Подсчет количества объектов в БД |
|
|
|
| 10.05.2013, 18:49 | |
|
Объекты какой формы? Или вам распознавание образов?
0
|
|
|
2 / 2 / 0
Регистрация: 04.05.2013
Сообщений: 22
|
|
| 10.05.2013, 18:52 [ТС] | |
|
Формы произвольной. Круги, эллипсы, "пятна" в общем случае.
Мне распознавать их характеристики не обязательно. Просто найти количество групп "скучкованных" вместе пикселей и их количество.
0
|
|
|
|
|
| 10.05.2013, 18:55 | |
|
Охарактеризовать объект по каким-либо признакам его строения
там много чего есть
2
|
|
|
2 / 2 / 0
Регистрация: 04.05.2013
Сообщений: 22
|
|
| 10.05.2013, 18:56 [ТС] | |
|
Спасибо. Посмотрю.
0
|
|
|
|
|
| 10.05.2013, 19:04 | |
|
или ищите типа этого: Загрузить изображение в массив - берем пиксель, сравниваем его с соседним, если совпадает, что-нибудь с этим делаем.
1
|
|
|
2 / 2 / 0
Регистрация: 04.05.2013
Сообщений: 22
|
|
| 10.05.2013, 19:07 [ТС] | |
|
Это ещё ближе, спасибо!
1
|
|
|
|
|
| 10.05.2013, 20:47 | |
|
Уменьшить количество цветов в изображении- определение смежных пикселей
1
|
|
| 10.05.2013, 21:25 | |
|
0
|
|
|
2 / 2 / 0
Регистрация: 04.05.2013
Сообщений: 22
|
|||||||||||
| 11.05.2013, 21:02 [ТС] | |||||||||||
|
Ох. Вроде почитал, всё придумал. Но возникла вот какая странная вещь:
Более того, в цикле:
Может я где-то дурак?
0
|
|||||||||||
|
|
||||||
| 11.05.2013, 22:00 | ||||||
|
у вас где-нибудь есть что-нибудь наподобие
1
|
||||||
|
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
|
||||||
| 14.05.2013, 08:28 | ||||||
всё. прикрутить поиск площади можно написав FloodFill ручками, что для расширения кругозора и советую сделать.
1
|
||||||
|
2 / 2 / 0
Регистрация: 04.05.2013
Сообщений: 22
|
||
| 14.05.2013, 20:19 [ТС] | ||
|
На подобии того, что вы предложили я сделал, но как подсчёт "площади"(суммы пикселей) интересующих меня объектов. А вот как кодом реализовать поиск связных - пока не придумал. Точнее не придумал что за идентификатор присваивать и как его потом считывать.присваивать. Цветовой, то, понятное дело не подходит=\
0
|
||
|
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
|
|
| 15.05.2013, 05:21 | |
|
ок. в спешке мне показалось что речь идет о монохромном изображении, а не фоне.
но как понять монохромный фон? однотонный? по идее это разные вещи, в данном случае моно предполагает 1 бит, а это 2 цвета. или фон черно-белый, а объекты на нем цветные(кроме ч/б)? если так, то почему нельзя сделать фон одного цвета, а объекты другого и применить мой алгоритм? это будет просто как маска для подсчета объектов и рассчета их площади. если нет, поясните.
0
|
|
|
Модератор
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,454
|
||
| 15.05.2013, 10:33 | ||
|
2 начиная с первой точки проверять совпадает ли цвет точки с цветом фона 3 если не совпадает - это первая точка фигуры: назначаем фигуре следующий свободный порядковый номер и заносим его в матрицу в ячейку с координатами точки 4 для всех точек окружающих найденную точку проверяем совпадает ли их цвет с цветом фона 5 если не совпадает - это очередная точка фигуры: заносим номер фигуры в матрицу в ячейку с координатами точки 6 делаем это до тех пор пока не выберем все точки фигуры 7 берем следующую непроверенную точку (проверяем что в матрице в ячейке с координатами точки стоит ноль - эта точка не принадлежит ни одной из найденных фигур) 8 и так далее. в итоге последний из назначенных порядковых номеров будет количеством фигур
1
|
||
|
2 / 2 / 0
Регистрация: 04.05.2013
Сообщений: 22
|
||||||
| 06.07.2013, 19:48 [ТС] | ||||||
|
И так, я здорово продвинулся, не без благодарности руководствуясь вашими советами.
В итоге подсчёт объектов происходит, храня значение в самом значении цвета пикселей. Перед этой процедурой изображение, понятное дело, приводится к чёрно-белому варианту. Однако в случае усложнения геометрии объектов начинаются всякие гадости, к примеру в случае кляксы, объектов может стать несколько миллионов, или -1 =\ Сканирование провожу при помощи корректирующей маски, вот код:
0
|
||||||
| 06.07.2013, 20:04 | |
|
0
|
|
|
2 / 2 / 0
Регистрация: 04.05.2013
Сообщений: 22
|
||
| 07.07.2013, 12:56 [ТС] | ||
|
К примеру 1 круг на пол экрана считался тремя объектами, два одинаковых круга - 6-ю, если их уменьшить, то каждый считался за два. Т.е. да, зависимость найденных объектов от их фактического количества была линейной, но большой радости в этом не было.
0
|
||
| 07.07.2013, 12:56 | |
|
Помогаю со студенческими работами здесь
20
Подсчет количества объектов на изображении
Работа с колонтитулами: анализ групп объектов, подсчет количества фигур
Подсчёт количества символов и количества строк в файле Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
в-строка - входное арифметическое выражение в инфиксной(обычной). . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|