Как рассчитать дискретное косинусное преобразование (DCT) в PHP?
Что я'Мне нравится вот рабочая, оптимизированная версия моего текущего кода. Хотя моя функция возвращает массив с фактическими результатами, я нене знаю, верны ли они (яЯ не гуру математики, и я нене знаю Java-код для сравнения моих результатов с известными реализациями). Во-вторых, яМне бы хотелось, чтобы функция могла принимать пользовательские размеры таблиц, но я нене знаю, как это сделать. Размер таблицы эквивалентен передискретизации изображения? Правильно ли я применяю коэффициенты?
// a lot of processing is required for large images
$image = imagecreatetruecolor(21, 21);
$black = imagecolorallocate($image, 0, 0, 0);
$white = imagecolorallocate($image, 255, 255, 255);
imagefilledellipse($image, 10, 10, 15, 15, $white);
print_r(imgDTC($image));
function imgDTC($img, $tableSize){
// m1 = Matrix1, an associative array with pixel data from the image
// m2 = Matrix2, an associative array with DCT Frequencies
// x1, y1 = coordinates in matrix1
// x2, y2 = coordinates in matrix2
$m1 = array();
$m2 = array();
// iw = image width
// ih = image height
$iw = imagesx($img);
$ih = imagesy($img);
// populate matrix1
for ($x1=0; $x1