2007年7月16日 星期一

針對圖片的YCbCr繪製長條圖

//----第一段程式,做YCbCr的統計----
for(i = 0;i < j =" 0;j">0)
  RecordY[ (int)dbIm1Y[j][i] ]++;
  else
  //處理Y負值的統計
  if(dbIm1Cb[j][i]>0)
  RecordCb[ (int)dbIm1Cb[j][i] ]++;
   else
  //處理Cb負值的統計
  if(dbIm1Cr[j][i]>0)
  RecordCb[ (int)dbIm1Cr[j][i] ]++;
  else
  //處理Cr負值的統計
  }
}
//----第二段程式,處理Y的圖形----
int Im2H,Im2W; //使用Image2

Im2H=Image2->Height;          //取得Canvas大小
Im2W=Image2->Width;
Image2->Picture->Bitmap->Width=Im2W;  //指定BitMap的大小
Image2->Picture->Bitmap->Height=Im2H;
Image2->Picture->Bitmap->PixelFormat=pf24bit; //指定該圖是24bit的圖

for(i=0;i<300;i++)
{
  j=RecordY[i]/6;
  Image2->Canvas->MoveTo(2*i+1,300);
  Image2->Canvas->LineTo(2*i+1,300-j);
}
//----第三段程式,處理Cb的圖型----
int Im3H,Im3W; //畫在Image3上面
Im3H=Image3->Height; //取得Canvas大小
Im3W=Image3->Width;
Image3->Picture->Bitmap->Width=Im3W; //指定BitMap的大小
Image3->Picture->Bitmap->Height=Im3H;
Image3->Picture->Bitmap->PixelFormat=pf24bit; //指定該圖是24bit的圖

for(i=0;i<300;i++) j="RecordCb[i]/6; ">Canvas->MoveTo(2*i+1,300);
  Image3->Canvas->LineTo(2*i+1,300-j);
}
//----第四段程式,處理Cr的圖形----
Im4H,Im4W;

Im4H=Image4->Height; //取得Canvas大小
Im4W=Image4->Width;
Image4->Picture->Bitmap->Width=Im4W; //指定BitMap的大小
Image4->Picture->Bitmap->Height=Im4H;
Image4->Picture->Bitmap->PixelFormat=pf24bit; //指定該圖是24bit的圖

for(i=0;i<300;i++)>
{
   j=RecordCr[i]/6;
  Image4->Canvas->MoveTo(2*i+1,300);
  Image4->Canvas->LineTo(2*i+1,300-j);
}






沒有留言: