All streams
Search
Write a publication
Pull to refresh
55
0
Андрей Иванов @AndreyIvanoff

Пользователь

Send message
Ваша правда, не заметил что картинки разных масштабов. И инфракрасная картинка — кусок пустыни.
Размещенные картинки это не есть инфракрасный спектр — ну по крайне мере мне так кажется. Я с такими данными работал, если бы это был инфракрасный диапазон — мы бы отчетливо видели сельскохозяйственные поля, а они исчезли. Больше похоже на какую-то радарную съемку.
Вот здесь об этом подробнее. Только эта статья (расширенные тезисы) от 2008 года еще.
В месте с картой пробок, карту качества дорог так создать можно. Такого вроде еще нету?
Я про Parallel Computing Toolbox
Слишком дорога эта приблуда, хотя и работает замечательно.
Насколько многогранная и интересная тема оказалась, у меня тогда будет видимо еще один вариант с трассировкой контуров. Потому что вы предложили то что я совсем не ожидал и никогда не видел.
Спасибо.
Действительно жаль, что не нашлось более изящного способа.
А если эквивалентность вида: 2 эквивалентно 3, а 3 эквивалентно 1?
1. Соединяются объекты 2 и 3. Объект 3 станет объектом 2. Теперь указателей на тройку нет вообще.
2. Соединяются объекты 3 и 1. Объект 3 станет объектом 1. А так как указатели на тройку уже потеряны, то эта эквивалентность не обработается получается?

Хм, действительно, сейчас подумал — все верно. Только не как доказать это не могу для себя. У вас есть какие-то рассуждения? Поделитесь?
Пока еще не понял будет ли это работать для всех коллизий, однако идея очень интересная.
Вот к примеру пусть разметка такова, что возникают последовательно эквивалентности:
2 эквивалентно 3, затем: 3 эквивалентно 5.
1. По адресу в указателе на 2 ставится 3.
2. По адресу указывающему на на 3 ставится 5.
Таким образом коллизия не разрешена и перенумерация выполнена не полностью: осталось и 3 и 5. Когда должно остаться только 5.
Или я где-то заблуждаюсь?

И про CUDA тоже напишите пожалуйста, очень интересно. Спасибо за дискуссию.
«достаточно просто списка пропусков точек» — действительно, но все равно как-то криво. Так и не понял преимуществ предлагаемого подхода.
Я пробовал реализовывать описанный вами алгоритм и отказался от него.
Этапы: Поиск стартовой позиции, трассировка контуров, определение внутренних точек.
Самый затратный этап был у меня — определение принадлежности точки к полигону — он сделал строго по алгоритму из книги Кормена.
У меня получилось медленнее чем в предлагаемом в статье варианте.
И я не верю, что что можно сделать существенно быстрее.
Хотя все имеет место в своих приложениях.
Нет, это не так. О какой памяти вообще говорится ?, дополнительной памяти не требуется, и экономить ее не получится, тем более существенно.
«уметь находить начальные точки для обхода» — в этом проблема.
Более того, после того как контур найден, его нужно убрать с изображения, чтобы снова не найти — дополнительные расходы.
И еще, ваш вариант совершенно не подходит если изображение поступает последовательно, придется дождаться полного получения картинки, в моем варианте — достаточно получить две строки.
Афигеть просто, здорово, выражаю огромную признательность за фишки которые вы рассказали в комментах!
да, массив не пересекающихся множеств индексов, если два индекса в одном множестве — области эквивалентны. И при работе алгоритма выставляются указатели, а множества так же могут объединятся.
Действительно, но что-то не соображу, как без циклов удалить внутренние пиксели, мне сразу представился последовательный проход и маска.
В пункте 5-ом, описания позиции маски, говорится как раз о перенумерации Image(Image == C) = B. При реальной рализации это эфективно делать с использованием указатлей — см. задачку в самом конце статьи.
" длину общей границы между всеми парами областей" — у меня взорвался мозг, если две области не связанные как между ними есть общая граница? Расскажите подробнее пожалуйста.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity