Быстрая двумерная свертка для DSP

Я хочу реализовать некоторые алгоритмы обработки изображений, которые предназначены для работы на beagleboard . Эти алгоритмы широко используют свертки. Я пытаюсь найти хорошую реализацию C для 2D-свертки (возможно, с использованием быстрого преобразования Фурье). Я также хочу, чтобы алгоритм мог работать на DSP beagleboard, потому что я слышал, что DSP оптимизирован для таких операций (с его инструкцией умножения-накопления).

У меня нет опыта в этой области, поэтому Я думаю, это победило Было бы неплохо реализовать свертку самостоятельно (я, вероятно, не буду делать это так хорошо, как тот, кто понимает всю математику, стоящую за этим). Я считаю, что где-то существует хорошая реализация свертки C для DSP, но я не смог ее найти?

Может ли кто-нибудь помочь?

РЕДАКТИРОВАТЬ: Оказывается, ядро ​​довольно маленькое. Его размеры - 2X2 или 3X3. Так что я не ищу реализации на основе БПФ. Я искал свертку в Интернете, чтобы увидеть ее определение, чтобы я мог реализовать ее прямым способом (я действительно не знаю, что такое свертка). Все, что я нашел, - это что-то с умноженными интегралами, и я понятия не имею, как это делать с матрицами. Может ли кто-нибудь дать мне кусок кода (или псевдокода) для случая ядра 2X2?

7
задан snakile 25 December 2010 в 17:03
поделиться