|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.07.2015, 16:37 | #1 |
Форумчанин
Регистрация: 12.04.2008
Сообщений: 105
|
Выделить контур на ч\б изображении
Здравствуйте. Есть изображение черно-белое (бинаризированное) необходимо начиная с заданного пикселя построить контур неразрывного объекта.
Было бы хорошо еще иметь возможность "вырезать" обьект и поставить и соседний TImage. Пробовал реализовать "метод лесного пожара" когда каждый пиксель соседний просматривается, мне не удалось. Есть ли готовые решения? Спасибо. |
06.07.2015, 17:08 | #2 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
А попробуйте метод обхода контура ("жука"), он достаточно прост, чтобы его можно было реализовать самостоятельно. ссылка на описание
Готовые решения если и есть, то все равно подлежат допиливанию. Иногда быстрее немного поднапрячься и самому сделать
Благодарить в репутацию. Проклинать — туда же
|
06.07.2015, 17:46 | #3 | |
Форумчанин
Регистрация: 12.04.2008
Сообщений: 105
|
Цитата:
|
|
06.07.2015, 18:34 | #4 |
Форумчанин
Регистрация: 18.01.2012
Сообщений: 975
|
Не, жук по прямой двигаться не может принципиально
Если жук находится на белой клетке, то следующий шаг он сделает на клетку справа от себя. Если на черной - то на клетку слева от себя. Только не путайте право и лево "на картинке" с право и лево "жука". Если, например, жук последний шаг сделал по направлению к нижней границе картинки, то поворот "налево" будет означать шаг в сторону правой границы картинки. На вложенном рисунке пояснения. Каждый шаг жука можно представить себе как прибавление или вычитание к/из одной из его координат (х и y) единицы Т.е. "жук смотрит вправо, жук идет направо" описывается как "жук.Y = жук.Y-1;" (если за начало координат принять левый нижний угол рисунка). Следующий его ход "жук смотрит вниз, жук идет налево" будет выглядеть как "жук.X = жук.X+1;". Самое "сложное" здесь - это хранить направление последнего шага жука, чтобы понять какую координату и как менять при следующем шаге
Благодарить в репутацию. Проклинать — туда же
|
07.07.2015, 22:48 | #5 |
Форумчанин
Регистрация: 12.04.2008
Сообщений: 105
|
Нашел исходник на С , переписал, не работает. Сам сделать не могу(
Код:
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти контур фигуры | роман11 | Помощь студентам | 5 | 09.01.2015 13:04 |
Рассчитать контур заземления | HellMercenariess | Компьютерное железо | 10 | 22.05.2013 11:25 |
Найти и выделить (либо закрасить) на изображении другое изображение | DarkHacker | PHP | 0 | 13.08.2012 19:00 |
Найти и выделить штрих-код на изображении, реализация на С# или С++ | Didos | Общие вопросы C/C++ | 1 | 21.05.2012 11:23 |