![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() |
Rian |
![]()
Сообщение
#1
|
![]() Знаток ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 394 Пол: Мужской Репутация: ![]() ![]() ![]() |
сдрасте экспериментирую с распознаванием образов...
вобщем на картинке есть фигура (условно элипс)синего цвета надо определить границы этой фигуры (верх-низ тд) я нахожу любой синий пиксел и рекурсивно обхожу все соседние, перерисовывая в красный каждый проверенный вот ток с возвратом результата что не так подскажите где меня заклинило))
ps. похоже перегнул... попробую делать проверку для каждой грани отдельной функцией с частичной заменой цвета а не полной Сообщение отредактировано: feniks25 - 6.01.2010 22:24 -------------------- Objective-C, Unity3d
|
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Непонятны 2 вещи:
во-первых, с чего ты решил, что для определения "синий цвет" достаточно, чтобы GetBValue было равно 255? У белого оно тоже 255. Сравнивай с синим цветом: if image.Canvas.Pixels[x,y]=clBlue then ... А во-вторых, для того, чтобы определить границы эллипса, недостаточно проверить ТОЛЬКО точки, находящиеся строго вверху, внизу, слева и справа. Надо еще проверять и угловые: выше-левее, ниже-левее, выше-правее, ниже-правее. Вот это, к примеру, выдает правильные границы эллипса: procedure analiz_pict(const image:timage); |
![]() ![]() |
![]() |
Текстовая версия | 14.07.2025 7:11 |