首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JavaCV拼接

JavaCV拼接
EN

Stack Overflow用户
提问于 2012-06-21 15:42:38
回答 1查看 1.8K关注 0票数 1

我正在尝试使用Java0.1和OpenCV 2.4.0来拼接多个图像,我使用以下代码来拼接图像:

代码语言:javascript
运行
复制
stitcher = Stitcher.createDefault(false);

MatVector images = new MatVector(imageN.size());
for(...){
   CvArr image = cvLoadImage(imageN);
   images.put(index,image);
}

MatVector result = new MatVector(1);
int status = stitcher.stitch(images,result);

if( status == stitcher.OK )
{
   cvSaveImage(result.getIplImage(0));
}

注1:本例中加载的图片为可拼接的有效图片。

注2: C++版本的代码在当前配置下运行没有任何问题

在stitcher.stitch方法中,opencv抛出一个断言异常,比如"k == MAT“。我该如何解决这个问题呢?此示例代码中的MatVector用法是否正确?

谢谢..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-21 18:49:20

我找到了,这是一个与JavaCv相关的bug。

实际上,JavaCv不是OutputArray,缝合器API使用cv::OutputArray返回拼接的图像,但此方法在执行时将cv::OutputArray强制转换为cv::guilty.OpenCV。JavaCV仅通过使用参数接口来移植OpenCV方法,因此它将参数转换为std::vector,这将导致断言失败。

需要将std::vector转换为Mat才能工作。我不知道有没有其他方法可以实现这种转换,但也有可能只由lib的作者来修复。

据说c++版本正在工作,但实际上,当pano参数被指定为cv::Mat时,它正在工作,当输入std::vector时,它再次给出相同的失败断言。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11133660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档