#include<stdio.h>
#include<math.h>
#define H 256
#define W 256
#define SIZE 8
#define PI 3.1415
#define TRUE 0
int main()
{
unsigned char m_OpenImg[H][W];
double m_TempImg[H][W];
unsigned char m_ResultImg[H][W];
int x, y;
int u, v;
int i, j;
double sum;
FILE *Infp, *Outfp;
int Q[SIZE][SIZE]={{ 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 DCT[SIZE][SIZE]={{ 0.1249, 0.1767, 0.1767, 0.1767, 0.1767, 0.1767, 0.1767, 0.1767},
{ 0.1767, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25},
{ 0.1767, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25},
{ 0.1767, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25},
{ 0.1767, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25},
{ 0.1767, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25},
{ 0.1767, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25},
{ 0.1767, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25}};
Infp= fopen("lena.raw","rb");
if(Infp==NULL)
{
printf("File open error!!");
return TRUE;
}
fread(m_OpenImg, sizeof(char), H*W, Infp);
fclose(Infp);
//printf("step1\n");
//initailize result image
for(i=0; i<H; i++)
{
for(j=0; j<W; j++)
{
m_TempImg[i][j]=0;
m_ResultImg[i][j]=0;
}
}
//printf("step2\n");