/ / Зменшення масштабу JPG під час декомпресії JPG - c ++, математика, jpeg, декомпресія

Скорочення JPG під час декомпресії JPG - c ++, math, jpeg, декомпресія

Мені потрібно зменшити масштаб і розпакувати набір зображень у форматі JPG розміром 4608 x 3456. В даний час мені вже вдалося декомпресувати зображення у форматі RGB та перетворити їх у бітмап.

Тепер мені потрібно реалізувати зменшення шкали і відщо я читав поки що, щоб зменшити масштаб зображення, слід використовувати білінеарну інтерполяцію. Тоді я повинен замінити пікселі (2х2), які були використані для інтерполяції, отриманим пікселем від інтерполяції. Мені потрібно приблизно приблизно на 1/4 його поточного розміру.

Я не так переживаю за якість зменшених зображень, як про швидкість, з якою це робиться. Весь процес повинен бути настільки швидким, наскільки це можливо.

Моє питання полягає в тому, коли Я повинен робити білінеарну інтерполяцію під часстадія декомпресії JPG. Чи потрібно це робити після IDCT (зворотної дискретної косинусної трансформації) або я повинен виконувати інтерполяцію перед IDCT?

Чи розумно використовувати коефіцієнти DCT і робити інтерполяцію на них, а потім використовувати ці отримані значення в IDCT?

Відповіді:

3 для відповіді № 1

Взагалі я не вірю в те, що є якийсь розумний спосіб, що ви можете зробити це з точки зору коефіцієнтів DCT.

Однак, якщо ви конкретно хочете, щоб зображення було розміром наполовину в кожному вимірі, ви можете отримати грубо зменшене зображення, викинувши високочастотні коефіцієнти та зробивши ID4T 4х4.