Я пытаюсь реализовать DCT 2-D, но, как уже упоминалось, это занимает слишком много времени. Я пробовал это на Matlab, используя dct2d, и это действительно намного быстрее. Я использую dct-2D со страницы Википедии:
https://en.wikipedia.org/wiki/Discrete_cosine_transform
Есть идеи?
Вам нужно использовать алгоритм, который учитывает матрицу DCT. Если вы сделаете это как прямое матричное умножение, это будет sloooooooow.
Кроме того, вы можете использовать масштабированные целые числа, а не с плавающей точкой.