Сжатие JPEG с использованием openCVC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Сжатие JPEG с использованием openCV

Сообщение Anonymous »

Я пытаюсь выполнить базовое сжатие JPEG (DCT + Quantization + IDCT), используя OpenCV, не используя энтропийное кодирование/кодирование Huffman. Проблема в том, что после того, как я распаковываю сжатое изображение, оно даже не близко по внешнему виду. P> Базовая JPEG сжатие/декомпрессирующее моделирование
Базовое сжатие JPEG с использованием openCV
Ниже приведены 3 изображения (оригинал, сжатый и Декомпрессированные изображения):



Я использую следующую матрицу для яркости и хроминантности:

Код: Выделить всё

double dataLuminance[8][8] = {
{16, 11, 10, 16, 24, 40, 51, 61},
{12, 12, 14, 19, 26, 58, 60, 55},
{14, 13, 16, 24, 40, 57, 69, 56},
{14, 17, 22, 29, 51, 87, 80, 62},
{18, 22, 37, 56, 68, 109, 103, 77},
{24, 35, 55, 64, 81, 104, 113, 92},
{49, 64, 78, 87, 103, 121, 120, 101},
{72, 92, 95, 98, 112, 100, 103, 99}
};

double dataChrominance[8][8] = {
{17, 18, 24, 27, 99, 99, 99, 99},
{18, 21, 26, 66, 99, 99, 99, 99},
{24, 26, 56, 99, 99, 99, 99, 99},
{47, 66, 99, 99, 99, 99, 99, 99},
{99, 99, 99, 99, 99, 99, 99, 99},
{99, 99, 99, 99, 99, 99, 99, 99},
{99, 99, 99, 99, 99, 99, 99, 99},
{99, 99, 99, 99, 99, 99, 99, 99}
};
// Редактировать 1: @micka рассказала о проблеме использования imread/imwrite, поэтому я отредактировал свой код, чтобы использовать сжатое изображение непосредственно из моей программы.
Метод сжатия: < /p>

Код: Выделить всё

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);

cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/29638440/jpeg-compression-using-opencv[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Сжатие JPEG с использованием OpenCV
    Гость » » в форуме C++
    0 Ответы
    45 Просмотры
    Последнее сообщение Гость
  • Сжатие JPEG с использованием OpenCV
    Anonymous » » в форуме C++
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Сжатие JPEG с использованием OpenCV
    Anonymous » » в форуме C++
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Сжатие JPEG с использованием openCV
    Anonymous » » в форуме C++
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Генерируйте JPEG-в-TIFF без повторного сжатия источника JPEG в Java
    Anonymous » » в форуме JAVA
    0 Ответы
    31 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»