0

OpenCV 2.2 で Microsoft Visual Studio 2010 Ultimate を使用しており、2 つの画像を取得してそれらを合計する関数 CvAcc(img1,img2) を使用しようとしています。

コードは

#include <opencv/cv.h>
#include<opencv/cvaux.h>
#include<opencv/highgui.h>
#include<opencv/cxcore.h>
#include <stdio.h>
#include <opencv2/features2d/features2d.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc_c.h>
#include <opencv/cv.h>
using namespace cv;
using namespace std;
void main()
{
CvMemStorage* storage = cvCreateMemStorage(0);
cvNamedWindow("Image", 1);


IplImage* sum= cvCreateImage( cvSize(640,480), 32, 1); 
    IplImage* mean= cvCreateImage( cvSize(640,480), 8, 1); 
    IplImage* img;

    img= cvLoadImage("C:/Users/Admin/Desktop/Open CV Images/img1.jpg"); 
    cvAcc( img, sum); 
    img= cvLoadImage("C:/Users/Admin/Desktop/Open CV Images/img2.jpg"); 
    cvAcc( img, sum); 


   cvConvertScale( sum, mean, 1.0/2,0); 
   cvShowImage("Image",mean);
   cvWaitKey(0);

   cvDestroyWindow("Image");

} 

しかし、エラー (未処理の例外) が発生します。

    Unhandled exception at 0x000007fefdfc9e5d (KernelBase.dll) in tagroba.exe: Microsoft C++ exception: cv::Exception at memory location 0x002beef0..

誰でもこの問題を解決するのを手伝ってくれますか?

4

1 に答える 1

0

まず、画像を画面に表示して、画像が正常に読み込まれたことを確認する必要があります。そのために cvShowImage メソッドを使用できます。読み込み後に画像を表示できない場合は、画像パスにスペース文字が含まれている可能性があります。

于 2013-05-12T00:24:09.583 に答える