Конвертировать блоки RGB в изображения в JPEG-декодере - PullRequest
0 голосов
/ 04 октября 2018

Я пытаюсь создать простой jpeg-декодер в MATLAB.Я беру изображение .jpg и затем декодирую заголовки этого изображения.Затем декодируйте данные сканирования после заголовка SOS и создайте блоки размером 64 пикселя

(порядок моих данных сканирования декодирования: декодирование Хаффмана, деквантование, де-зигзаг, обратное DCT, сдвиг уровня, зажим и преобразование из Ycbcr в RGB.)

Я уже думаю, что правильно описанный выше процесс декодирования был корректным. Я сделал это для каждого блока с 64 пикселями, а также определил эффект субвыборки для блока.Теперь у меня есть структура ниже для каналов Y, а также для каналов Cb и Cr: (предположим, у меня есть подвыборка с коэффициентом 2 для каналов Cb и Cr)

[16 * 16 пикселей], [16 * 16 пикселей], [16 * 16 пикселей], [16 * 16 пикселей], [16 * 16 пикселей], ... ..., [16 * 16 пикселей], [16 * 16 пикселей].

длина массива вышеуказанных блоков равна imageWidth *imageLength / 256 (предположим, это делится)

Теперь мой вопрос таков: как я могу восстановить целое изображение из вышеуказанных блоков, другими словами, как я должен отсортировать и расположить вышеуказанные блоки, чтобы получить целое декодированное изображение?

...