用上一篇的文章bmp=>iplp_w_picpath的转换出来的图像单色,而且效果很差。我重新改了一下。其它部分以后更新。
原来方法:
IplImage  *  BmpTOIpl( int  width, int  height,unsigned  char    * pBuffer)
{
    IPlImage 
*p_w_picpath =cvCreateImage(cvSize(width,height),8,1);
   p_w_picpath
->p_w_picpathData=pBuffer;
   
return p_w_picpath;
}

更改之后方法:
IplImage * BmpTOIpl(int width,int height,unsigned char  *pBuffer)
{
   IplImage *p_w_picpath =new IplImage;
   cvInitImageHeader(p_w_picpath, cvSize(width,height), 8, 3,IPL_ORIGIN_BL, 4); //创建iplp_w_picpath
 cvSetData(p_w_picpath, pBuffer, width*3); //copy数据
   return p_w_picpath;
}