Я пытаюсь выполнить базовое сжатие 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]
[img]https://i.sstatic.net/UQaku.jpg[/img]
[img]https://i.sstatic.net/7JJ0F.jpg[/img]
Я использую следующую матрицу для яркости и цветности:
// РЕДАКТИРОВАНИЕ 1: @Micka рассказал о проблеме использования imread/imwrite, поэтому я отредактировал свой код, чтобы использовать сжатое изображение непосредственно из моей программы.
Метод сжатия:
[code]void ImageCompression::compression(){ // Getting original image size int height = imgOriginal.size().height; int width = imgOriginal.size().width;
// Converting image color Mat imgColorConverted; cvtColor(imgOriginal, imgColorConverted, CV_BGR2YCrCb);
// Transforming 2D Array in Image Matrix Mat luminance = Mat(8,8, CV_64FC1, &dataLuminance); Mat chrominance = Mat(8,8, CV_64FC1, &dataChrominance);
Я пытаюсь выполнить базовое сжатие JPEG (DCT + квантование + IDCT) с использованием OpenCV без использования энтропийного кодирования/кодирования Хаффмана. Проблема в том, что после распаковки сжатого изображения оно даже близко не похоже на...
Я пытаюсь выполнить базовое сжатие JPEG (DCT + квантование + IDCT) с использованием OpenCV без использования энтропийного кодирования/кодирования Хаффмана. Проблема в том, что после распаковки сжатого изображения оно даже близко не похоже на...
Я пытаюсь выполнить базовое сжатие JPEG (DCT + Quantization + IDCT), используя OpenCV, не используя энтропийное кодирование/кодирование Huffman. Проблема в том, что после того, как я распаковываю сжатое изображение, оно даже не близко по внешнему...
Я пытаюсь выполнить базовое сжатие JPEG (DCT + Quantization + IDCT), используя OpenCV, не используя энтропийное кодирование/кодирование Huffman. Проблема заключается в том, что после того, как я распаковываю сжатое изображение, оно даже не близко по...
Мне нужно обернуть изображение JPEG в формат TIFF (также известное как «JPEG-в-TIFF») без изменения данных JPEG (т. е. без распаковки и повторного сжатия исходного изображения JPEG, что может ухудшить качество изображения из-за появления...