绘制直方图

绘制每列灰度和的归一化直方图
int hist_width = actwidth;      //直方图尺寸  
int hist_height = 255;  
IplImage* hist_image = cvCreateImage(cvSize(hist_width,hist_height),8,3);  
for(i =0;i< actwidth;i++)
{  
         for(j =0;j<actheight;j++)
         {  
                    gray=((uchar*)(m_Frame2->imageData + m_Frame2->widthStep*j))[i];
                    greySum[i]+=gray;
         }
         if(greySum[i]>maxgreySum)
                 maxgreySum=greySum[i];
for(int i=0; i<hist_width;i++)
{  
           int nRealHeight = cvRound((greySum[i]   * hist_height/ maxgreySum) );   //要绘制的高度  
           cvRectangle(hist_image,   cvPoint(i,0),   cvPoint(i+1,nRealHeight),  CV_RGB(255,255,255));    
}  

你可能感兴趣的:(绘制直方图)