用上一篇的文章bmp=>iplp_w_picpath的转换出来的图像单色,而且效果很差。我重新改了一下。其它部分以后更新。
原来方法:

{
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;
}
{
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;
}
转载于:https://blog.51cto.com/juwen/86209