求助:opencv利用stitcher经行图像拼接遇到了问题

lucien6683655 2017-01-17 06:54:01
利用的是opencv2.49和vs2015
程序如下:
#include <iostream>
#include <fstream>
#include <opencv2/core/core.hpp>
#include "opencv2/highgui/highgui.hpp"
#include <opencv2/imgproc/imgproc.hpp>
#include "opencv2/stitching/stitcher.hpp"

using namespace std;
using namespace cv;

bool try_use_gpu = false;
vector<Mat> imgs;
string result_name = "result.jpg";

int main(int argc, char* argv[])
{


Mat img1 = imread("A:\\Users\\chen\\Desktop\\1.jpg");
Mat img2 = imread("A:\\Users\\chen\\Desktop\\2.jpg");
Mat img3 = imread("A:\\Users\\chen\\Desktop\\3.jpg");

if (img1.empty() || img2.empty() || img3.empty())
{
cout << "Can't read image" << endl;
return -1;
}
imgs.push_back(img1);
imgs.push_back(img2);
imgs.push_back(img3);


Mat pano;
Stitcher stitcher = Stitcher::createDefault(try_use_gpu);
Stitcher::Status status = stitcher.stitch(imgs, pano);

if (status != Stitcher::OK)
{
cout << "Can't stitch images, error code = " << int(status) << endl;
return -1;
}

imwrite(result_name, pano);
Mat pano2 = pano.clone();
imshow("全景图像", pano);
if(waitKey()==27)
return 0;
}


运行完后关闭窗口就出现了如下所示的问题,请问是什么原因,怎么解决呢??
问题为:
Microsoft Visual C++ Runtime Library
Debug Assertion Failed!
programe:H\visual studio 工程\opencv2.49\Debug\opencv2.49.exe
File:minkernel\crts\ucrt\src\appcrt\heap\debug_heap.cpp
Line:892
Expression:is_block_type_vaild(header->_block_use)
For information on how your program can cause an assertion
failure,see the visual c++ documentation on asserts.
(Press Retry to debug the application)
刚接触opencv不久希望大神能帮忙解决一下问题。
...全文
1516 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
gentleman_zh 2017-11-04
  • 打赏
  • 举报
回复
有最后的解决方案了吗???
zq090301227 2017-10-22
  • 打赏
  • 举报
回复
出过同样问题,请参看 https://stackoverflow.com/questions/34760254/debug-assertion-failed-opencv-is-block-type-validheader-block-use
lucien6683655 2017-02-14
  • 打赏
  • 举报
回复
求大神帮助啊
lucien6683655 2017-01-18
  • 打赏
  • 举报
回复
缺少dll的库不是直接运行不了吗?我是程序运行了,图片拼接也成功的显示了出来,不过关闭图片显示窗口时就会弹出上面所说的问题,也是缺少dll的库的原因吗?
Mr_Zhouzl 2017-01-18
  • 打赏
  • 举报
回复
第一、opencv版本换成opencv3 第二、vs换成vs2013,使用opencv vc12的函数库。 第三、重新cmake编译opencv 你应该是使用后缺少dll的库,然后拷贝进去再运行的,或者是你安装过其他版本的vs,这样部分opencv函数没有影响。不过比如寻找轮廓,仿射变化等函数会出现问题。

4,449

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧