Re: Преобразовать матрицу.
От: minorlogic Украина  
Дата: 13.06.10 10:50
Оценка: 5 (1)
Здравствуйте, <Аноним>, Вы писали:

А>Во всех клетках матрицы кроме граничных единицы или нули.

А>В граничных (левый/правый столбцы, верхняя/нижняя строки) — только нули.
А>Нужно заменить значение каждой единичной клетки
А>на расстояние от неё до ближайшей нулевой клетки.

http://en.wikipedia.org/wiki/Distance_transform
Удачи
... << RSDN@Home 1.2.0 alpha 4 rev. 1237>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Преобразовать матрицу.
От: Аноним  
Дата: 13.06.10 09:17
Оценка:
Во всех клетках матрицы кроме граничных единицы или нули.
В граничных (левый/правый столбцы, верхняя/нижняя строки) — только нули.
Нужно заменить значение каждой единичной клетки
на расстояние от неё до ближайшей нулевой клетки.
Re: Преобразовать матрицу.
От: dilmah США  
Дата: 13.06.10 09:38
Оценка:
А>Нужно заменить значение каждой единичной клетки
А>на расстояние от неё до ближайшей нулевой клетки.

уточни, как считаются диагональные расстояния?
Re[2]: Преобразовать матрицу.
От: Аноним  
Дата: 13.06.10 09:57
Оценка:
Здравствуйте, dilmah, Вы писали:

А>>Нужно заменить значение каждой единичной клетки

А>>на расстояние от неё до ближайшей нулевой клетки.

D>уточни, как считаются диагональные расстояния?

По теореме Пифагора.
Re[2]: Преобразовать матрицу.
От: Аноним  
Дата: 13.06.10 10:10
Оценка:
Здравствуйте, dilmah, Вы писали:

А>>Нужно заменить значение каждой единичной клетки

А>>на расстояние от неё до ближайшей нулевой клетки.

D>уточни, как считаются диагональные расстояния?


Если есть идеи, когда расстояние вычисляется
не по теореме Пифагора , а как min(dx,dy),
тоже интересно.
Re[3]: Преобразовать матрицу.
От: Аноним  
Дата: 13.06.10 10:15
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, dilmah, Вы писали:


А>>>Нужно заменить значение каждой единичной клетки

А>>>на расстояние от неё до ближайшей нулевой клетки.

D>>уточни, как считаются диагональные расстояния?


А>Если есть идеи, когда расстояние вычисляется

А>не по теореме Пифагора , а как min(dx,dy),
А>тоже интересно.
Не min — max(dx,dy)
Re[4]: Преобразовать матрицу.
От: dilmah США  
Дата: 13.06.10 10:42
Оценка:
А>>Если есть идеи, когда расстояние вычисляется
А>>не по теореме Пифагора , а как min(dx,dy),
А>>тоже интересно.
А>Не min — max(dx,dy)

действительно, в такой постановке должно быть проще.

Понятно, что нужно ввести примитивную операцию -- для каждой ненулевой клетки нужно посчитать минимум значений соседей, прибавить единицу и положить в эту клетку.

Вопрос, в том сколько проходов применения этой операции и в каких направлениях нужно сделать, чтобы значения устаканились к правильному ответу.

Должно быть достаточно 4 проходов:
столбец за столбцом слева направо,
столбец за столбцом справа налево,
строка за строкой сверху вниз
строка за строкой снизу вверх.

Интересно, можно ли обойтись меньшим числом проходов?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.