OpenCV Stitching,C ++ - 未处理的异常

时间:2015-03-09 16:24:29

标签: c++ visual-studio-2010 opencv opencv-stitching

我试图将三张图像拼接在一起。为此,我选择了OpenCV 2.4.10和Microsoft Visual C ++ 2010 Express。
图像为1500x1500px,读取时为CV_8UC3 我正在构建32位,并且已经有一些其他工作与OpenCV,所以我想项目是正确设置路径等..

奇怪的是,我只有有时才会出现此错误,并且只有当我尝试缝合两张以上的图片时才会出现。

这里出现错误信息:

Unhandled exception at 0x5841dcaa in Stitching Test.exe: 0xC0000005: Access violation reading location 0x00000004.

之后我自动进入“Chores.cpp”的第99行或“TaskCollection.cpp”的第189行,所以我认为这是错误的来源。 (路径C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC \ crt \ src)

这里是代码:

#include <iostream>

//OPENCV
#include <opencv2\core\core.hpp>
#include <opencv2\highgui\highgui.hpp>
#include <opencv2\imgproc\imgproc.hpp>
//OPENCV STITCHING
#include <opencv2\stitching\stitcher.hpp>

using namespace std;
using namespace cv;

int main(){
    Mat panoramaImage;
    vector<Mat> inputImages;

    inputImages.push_back(imread("../../V1.bmp"));
    inputImages.push_back(imread("../../V2.bmp"));
    inputImages.push_back(imread("../../V3.bmp"));

    Stitcher stitcher = Stitcher::createDefault();
    Stitcher::Status stitcherStatus = stitcher.stitch(inputImages, panoramaImage);

    imshow("Stitching Result", panoramaImage); 
    waitKey(0);

    return 0;
}

有人得到了建议吗?

1 个答案:

答案 0 :(得分:0)

问题解决了 - 我发现我有&#34; _DEBUG;&#34;在发布时运行时的预处理器定义。 奇怪的是,错误有时只发生......