eddy_em: (Default)
Понадобилось мне однажды вычисление изофот (линий равной интенсивности на изображениях), однако, готовых библиотек я не нашел, а копаться в чужом коде (например, в тех же Octave или Iraf) очень не хотелось. В качестве простейшего алгоритма я нашел метод шагающих квадратов. Однако, этот метод сильно снижает пространственное разрешение при вычислении узлов изофот, поэтому я решил его немного видоизменить и сделать квадраты перекрывающимися.
Первая реализация (кстати, довольно быстрая) была неудачной: т.к. я строил маску, общую для всех уровней, а для конкретного уровня пересчитывал отдельно, в точках, через которые проходит несколько изолиний, получились разрывы. Ковыряния в коде приводили к все большему и большему числу взаимных блокировок и флагов, поэтому я решил пойти в ущерб производительности и вычислять маски отдельно для каждого уровня интенсивности.

подробности )
eddy_em: (Default)
Разрабатывая свой велосипед, о котором уже неоднократно писал, я наткнулся на необходимость поиска изофот с представлением их для начала хотя бы в виде ломаных (потом можно будет и сглаживание добавить). И вот здесь-то у меня возникли затруднения. Есть множество программ, реализующих поиск и даже сглаживание изофот, но вот внятного изложения алгоритма, реализующего это, на просторах интернета я не нашел. Ковыряться в исходниках GPL-программ, строящих изофоты, мне не хотелось (на это ушло бы гораздо больше времени), поэтому я решил для начала попробовать сделать свою реализацию метода шагающих квадратов. Использовать "классический" алгоритм я не захотел, т.к. он приводит к уменьшению количества найденных узлов (все-таки, я собираюсь использовать именно этот вариант, проводя сетку 2х2 пикселя, но об этом - в следующей публикации). Итак, у меня "родился" свой, неправильный метод.
Как делать не надо ) Планирую: провести работу над ошибками и, если ничего не получится, переделать методику (т.е. сделать ячейки маски непересекающимися или даже вообще использовать классический - медленный - алгоритм).

В следующей части повествования я надеюсь рассказать о реализации работающего алгоритма.

May 2025

S M T W T F S
    123
45678910
11121314151617
1819202122 2324
25262728293031

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 27th, 2025 07:17 pm
Powered by Dreamwidth Studios