RUS  ENG
Полная версия
ЖУРНАЛЫ // Проблемы передачи информации // Архив

Пробл. передачи информ., 2024, том 60, выпуск 4, страницы 91–115 (Mi ppi2430)

Обработка изображений

Быстрый алгоритм вычисления преобразования Хафа для изображений произвольного размера с переиспользованием выделенной памяти

Д. Д. Казимиров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



© МИАН, 2025