Обработка изображений
Быстрый алгоритм вычисления преобразования Хафа для изображений произвольного размера с переиспользованием выделенной памяти
Д. Д. Казимировabc,
Д. П. Николаевda,
Е. О. Рыбаковаba,
А. П. Терехинc a ООО “Смарт Энджинс Сервис”, Москва
b Московский государственный университет им. М.В. Ломоносова, Москва
c Институт проблем передачи информации им. А.А. Харкевича РАН, Москва
d Федеральный исследовательский центр “Информатика и управление” РАН, Москва
Аннотация:
In-place алгоритмы эффективно используют память, уже выделенную для входных данных, ограничиваясь лишь незначительным дополнительным объемом памяти для промежуточных вычислений. Для изображений ширины, равной степени двойки, известен in-place алгоритм, являющийся вариацией стандартного алгоритма Брейди – Ёна для вычисления преобразования Хафа. Однако этот алгоритм неприменим к изображениям с произвольной шириной, наиболее часто встречающимся на практике. Напротив, out-of-place алгоритм
$\mathit{FHT}2\mathit{DS}$ может обрабатывать изображения различных размеров. В настоящей статье представлен in-place вариант алгоритма
$\mathit{FHT}2\mathit{DS}$, названный
$\mathit{FHT}2\mathit{IDS}$. Мы показываем, что алгоритм
$\mathit{FHT}2\mathit{IDS}$ дает такие же результаты, как и алгоритм
$\mathit{FHT}2\mathit{DS}$, но использует значительно меньше памяти на каждом шаге рекурсии. В частности, на каждом шаге рекурсии алгоритм
$\mathit{FHT}2\mathit{IDS}$ требует массива размера не более
$w+h$ (где
$w$ и
$h$ – ширина и высота изображения), в то время как алгоритм
$\mathit{FHT}2\mathit{DS}$ требует массива размера
$wh$. Экспериментальные результаты показывают, что алгоритм
$\mathit{FHT}2\mathit{IDS}$, реализованный на C/C
++, работает на 26% быстрее своего out-of-place аналога, алгоритма
$\mathit{FHT}2\mathit{DS}$. Алгоритм
$\mathit{FHT}2\mathit{IDS}$ также доступен на Python через открытый исходный код библиотеки
adrt.
Ключевые слова:
преобразование Хафа, быстрое преобразование Хафа, приближенное дискретное преобразование Радона, in-place, вычислительный граф.
УДК:
510.51 : 004.932 :
519.6 :
519.171 Поступила в редакцию: 07.12.2024
После переработки: 18.12.2024
Принята к печати: 25.12.2024
DOI:
10.31857/S0555292324040065