首页 > 代码库 > opencv中的图片流保存

opencv中的图片流保存

做图片流处理的时候总是保存不对,

图片如下

技术分享

用如下代码保存,其中Arr是byte数组

    //IplImage *img = cvCreateImage(cvSize(width, height), IPL_DEPTH_8U, Channels);    //IplImage *img = cvCreateImage(cvSize(width, height), IPL_DEPTH_8U, 3);    //cvZero(img);    //img->imageData =http://www.mamicode.com/(char*) Arr;>//img->imageDataOrigin= (char*)Arr;    //cv::Mat mImg(img, 0);    

技术分享

这种效果

    //Mat mImg(height, width, CV_8UC(Channels), (uchar*)Arr);    //Mat mImg(height, width, CV_8UC(depth), (uchar*)Arr);    //IplImage *img = &IplImage(mImg);    imwrite(LPCSTR(csFile), mImg);

技术分享   技术分享  技术分享  技术分享 技术分享 技术分享

我需要冷静一下!!!!!!

研究了一下,改成如下

    IplImage *img = cvCreateImageHeader(cvSize(width, height), IPL_DEPTH_8U, Channels);    cvSetData(img, Arr, Channels*width);    cv::Mat mImg(img, 0);

技术分享

终于完美还原,问题来了,什么原因呢?

opencv中的图片流保存