Raw 暗场校准 II

#define ROW 3072
#define COL 3072
void CQweqweqweDlg::OnCancel() 
{
  int i=0,j=0;
  //取平局后的二位数组
   BYTE *rawAvg=new BYTE[COL*ROW*2];
   memset(rawAvg,0,sizeof(BYTE)*COL*ROW*2);

   BYTE *raw1=new BYTE[COL*ROW*2];
   memset(raw1,0,sizeof(BYTE)*COL*ROW*2);

   BYTE *raw2=new BYTE[COL*ROW*2];
   memset(raw2,0,sizeof(BYTE)*COL*ROW*2);
   //读取第一raw
   CFile file1;
   file1.Open("1.raw",CFile::modeReadWrite|CFile::typeBinary); 
   file1.Read(raw1, sizeof(BYTE)*COL*ROW*2);  
   file1.Close();

   //读取第二raw
   CFile file2;
   file2.Open("2.raw",CFile::modeReadWrite|CFile::typeBinary); 
   file2.Read(raw2, sizeof(BYTE)*COL*ROW*2);  
   file2.Close();
  int n=0;
   //取2个raw的平局值 放到rawAvg二位数组中
   for (i=0;i<ROW*COL*2 ;i++)
   {
   rawAvg[i]=(raw1[i]+raw2[i])/2;
   }
   //保存取平均后的raw
   CFile fileW;
   fileW.Open("c:\rawAvg.raw",CFile::modeWrite|CFile::modeCreate|CFile::modeNoTruncate); 
   //将二维数组保存到文件中
   fileW.Write(rawAvg, sizeof(BYTE)*COL*ROW*2);
   fileW.Close();
    MessageBox("保存成功");
}

 

posted @ 2016-02-25 16:20  風行  阅读(249)  评论(0)    收藏  举报