Преобразование блоков RGB в изображения в JPEG-декодере

Я пытаюсь разработать простой 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 (предположим, что он делится)

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

0 ответов

Другие вопросы по тегам