我试图将三张图像拼接在一起。为此,我选择了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;
}
有人得到了建议吗?
答案 0 :(得分:0)
问题解决了 - 我发现我有&#34; _DEBUG;&#34;在发布时运行时的预处理器定义。 奇怪的是,错误有时只发生......