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 に答える