#include <fstream>
#include <iostream>
using namespace std;

void main()
{   int i, j;
   unsigned char OrgImg[256][256];
  
   ifstream fin;
   ofstream fout1,fout2;

   // 디스크에서 영상데이터 읽기
   fin.open("girl.raw",ios::binary);

   if(!fin) { cout<<"File open error !!"; return; }
   fin.read((char *)OrgImg,256*256);
   fin.close();

   fout1.open("girl_origin.raw");
   for (int i=0;i<256;i++)
   {
      for (int j=0;j<255;j++)
      {
         fout1 << (int)OrgImg[i][j]<<' ';
      }
      fout1 << (int)OrgImg[i][255]<<endl;     
   }


   fout1.close();


   // 역상계산을 위한 영상처리
   for(i=0; i<256; i++)
   {   for(j=0; j<256; j++)
      {    OrgImg[i][j] = 255-OrgImg[i][j];   }
   }
   // 하드디스크에 영상데이터 쓰기
//   fout.open("girl_inv.raw",ios::binary);
//   fout.write((char *)OrgImg,256*256);
   fout2.open("girl_inv.raw");
   for (int i=0;i<256;i++)
   {
      for (int j=0;j<255;j++)
      {
         fout2 << (int)OrgImg[i][j]<<' ';
      }
      fout2 << (int)OrgImg[i][255]<<endl;     
   }


   fout2.close();

}