0

这是我的编码部分

这是我的代码块

我越来越System.Runtime.InteropServices.SEHException @ cvSaveImage("foo.jpg",depth_ipl);

我也 cv::imwrite("E:\image1.jpg",depth_ipl);用过cvSaveImage("foo.jpg",depth_ipl);

它给了我System.AccessViolationException

请帮忙。

  #include "stdafx.h"
  #include <tchar.h>
  #include <cv.h>
  #include <cxcore.h>
  #include <highgui.h>
  #include <iostream>

 using namespace cv;

int _tmain(int argc, _TCHAR* argv[])
{       
    cv::Mat3b image =cv::imread("image.jpg");


    for(Mat3b::iterator it=image.begin(); it!=image.end();it++)
    {
        if(*it==Vec3b(255,255,255))
        {
            (*it=Vec3b(0,0,255));
        }
    }
    IplImage* depth_ipl = new IplImage(image);


    cvSaveImage("foo.jpg",depth_ipl);

    return 0;

}

4

1 回答 1

0

我最好的猜测是您需要更改线路:

cv::imwrite("E:\image1.jpg",depth_ipl);

cv::imwrite("E:\\image1.jpg",image); // notice the double backslash
于 2012-12-09T16:24:19.230 回答