Одно отличие состоит в том, что переменные, которые вы объявляете в функции, являются локальными, поэтому они исчезают при выходе из функции и не конфликтуют с другими переменными в другом коде.
Результатом DCT является преобразование первоисточника в частотную область. Верхняя левая запись хранит "амплитуду", которую "основная" частота и частота увеличивают и вдоль горизонтальных и вертикальных осей. Результатом DCT обычно является набор амплитуд при более обычных нижних частотах (верхний левый квадрант) и меньше записей при верхних частотах. Как lassevk упомянутый, обычно просто обнулить эти верхние частоты, поскольку они обычно составляют очень незначительные части источника. Однако это действительно приводит к потере информации. Для завершения сжатия, обычно использовать сжатие без потерь по источнику DCT'd. Это - то, где сжатие входит, поскольку все те выполнения нулей не уплотнены почти к ничему.
Одно возможное преимущество использования DCT для нахождения подобных регионов состоит в том, что можно сделать первое соответствие передачи на значениях низкой частоты (верхний левый угол). Это сокращает количество значений, против которых необходимо соответствовать. При нахождении соответствий значений низкой частоты можно увеличиться в сравнение верхних частот.
Hope это помогает
Я изучил все, что я знаю о DCT от Книга Сжатия данных. В дополнение к тому, чтобы быть большим введением в поле сжатия данных это имеет главу около конца на сжатии изображения с потерями, которое представляет JPEG и DCT.
Если я помню правильно, эта матрица позволяет Вам сохранять данные в файл со сжатием.
Если Вы будете читать далее вниз, то Вы найдете, что зигзагообразный шаблон данных читает из той конечной матрицы. Самые важные данные находятся в верхнем левом углу, и наименее важны в правом нижнем угле. По сути, если Вы прекратите писать в какой-то момент и просто рассмотрите остальных как 0, даже при том, что они не, Вы получите приближение с потерями изображения.
Количество значений Вы выбрасываете сжатие увеличений за счет точности изображения.
Но я уверен, что кто-то еще может дать Вам лучшее объяснение.
Я рекомендовал бы забрать копию Сжатие Цифрового видео - это - действительно хороший обзор алгоритмов сжатия для изображений и видео.
Ответ Anthony Cramp выглядел хорошим мне. Поскольку он упоминает, что DCT преобразовывает данные в частотную область. DCT в большой степени используется в сжатии видео, как зрительная система человека, должен менее чувствительный к высокочастотным изменениям, поэтому обнуляя результаты значений верхней частоты в меньшем файле, с небольшим эффектом на восприятие человеком качества видео.
С точки зрения использования DCT для сравнения изображений я предполагаю, что единственная реальная выгода - то, если Вы срезаете данные верхней частоты и поэтому имеете меньший набор данных для искания/соответствования. Что-то как вейвлеты Harr может дать лучшее изображение, соответствующее результатам.