Я пытаюсь выполнить базовое сжатие JPEG (DCT + квантование + IDCT) с использованием OpenCV без использования энтропийного кодирования/кодирования Хаффмана. Проблема в том, что после распаковки сжатого изображения оно даже близко не похоже на исходное.
Я следую этим руководствам:
Базовое моделирование сжатия/распаковки JPEG
Базовое сжатие JPEG с использованием OpenCV
Ниже приведены 3 изображения (исходное, сжатое и распакованное). изображения):
Я использую следующую матрицу для яркости и цветности:
// РЕДАКТИРОВАТЬ 1: @Micka рассказал о проблеме использования imread/imwrite, поэтому я отредактировал свой код, чтобы использовать сжатое изображение непосредственно из моей программы.
Метод сжатия:
Я пытаюсь выполнить базовое сжатие JPEG (DCT + квантование + IDCT) с использованием OpenCV без использования энтропийного кодирования/кодирования Хаффмана. Проблема в том, что после распаковки сжатого изображения оно даже близко не похоже на исходное. Я следую этим руководствам: Базовое моделирование сжатия/распаковки JPEG Базовое сжатие JPEG с использованием OpenCV Ниже приведены 3 изображения (исходное, сжатое и распакованное). изображения): [img]https://i.sstatic.net/3QSjD.jpg[/img]