вказує на просторову кореляцію зображення. p align="justify"> Двовимірні методи якості зображення застосовують найбільш часто при оцінці якості стислого зображення, оскільки вони вказують на відносні спотворення закодованого зображення в порівнянні з вихідним. Найпоширенішою мірою є среднеквадратическая помилка, що представляє собою різницю між значеннями відповідних пікселів вихідного і спотвореного зображення. На жаль, среднеквадратическая помилка часто слабо коррелированность з суб'єктивними оцінками якості зображення. br/>
1. Постановка завдання з розробки програми
Потрібно написати програму, що наочно демонструє працездатність міжнародного стандарту JPEG, тобто необхідно стиснути і закодувати інформацію, представлену у вигляді напівтонового нерухомого зображення, а потім її декодувати і наочно надати у вигляді півтонування.
. Вхідні дані
Вхідними даними є файли типу BMP
3. Вихідні дані
Вихідними даними є нерухоме кольорове зображення, що знаходиться на формі програми, яке демонструє метод JPEG, а також закодований файл, який формується в ході виконання програми.
. Огляд методів
Опис формату BMP для Window 3.0 (DIB)
Основною відмінністю файлів нового формату (DIB) - Device Independent Bitmap (апаратно-незалежний бітовий образ) є те, що в них використовується кодування кольорів з одного бітової площиною.
Файли бітових образів нового формату починаються зі структури BITMAPFILEHEADER:
struct tagBITMAPFILEHEADER {bfType;// тип файлу (для бітового образу - BM) bfSize;// розмір файлу в dwordbfReserved1;// Не іспользуетсяbfReserved2;// Не іспользуетсяbfOffbits;// зсув даних бітового образу від заголовка в байтах
}
Безпосередньо за нею розташовується структура BITMAPINFO, що містить всю інформацію про бітовому образі. Вона ділиться на дві частини: структуру BITMAPINFOHEADER, яка описує розміри і колірної формат бітового образу, і масив структур RGBQUAD, визначальною колірну палітру:
struct tagBITMAPINFO {bmiHeader; bmiColors [1];
} struct tagBITMAPINFOHEADER {biSize;// число байт, займаних структурою BITMAPINFOHEADERbiWidth;// ширина бітового образу в пікселахbiHeight;// висота бітового образу в пікселах biPlanes;// число бітових площин устройстваbiBitCount;// число бітів на піксельbiCompression;// тип сжатіяbiSizeImage;// розмір картинки в байтахbiXPelsPerMeter ;//горизонтальне дозвіл пристрою, піксел/мbiYPelPerMeter;// вертикальне дозвіл пристрою, піксел/мbiClrUsed;// число використовуваних цветовbiClrImportant;// число "важливих" квітів
} BITMAPINFOHEADER;
Більш детально: ...