C++ OpenCV缝合器模式:使用某些属性扫描崩溃
我正在尝试设置一个平面图像缝合应用程序,但如果我将缝合器放在平面扭曲器下面,该应用程序将崩溃,出现错误的访问异常。我还了解到,ORB功能查找最适合平面缝合,但使用OrbFeatureFinder也会导致应用程序在缝合功能中崩溃。我知道我不完全了解缝合管道是如何工作的,所以如果有人能帮助我理解这个问题,我将不胜感激C++ OpenCV缝合器模式:使用某些属性扫描崩溃,c++,ios,opencv3.0,objective-c++,C++,Ios,Opencv3.0,Objective C++,我正在尝试设置一个平面图像缝合应用程序,但如果我将缝合器放在平面扭曲器下面,该应用程序将崩溃,出现错误的访问异常。我还了解到,ORB功能查找最适合平面缝合,但使用OrbFeatureFinder也会导致应用程序在缝合功能中崩溃。我知道我不完全了解缝合管道是如何工作的,所以如果有人能帮助我理解这个问题,我将不胜感激 vector<Mat> imgs; cv::Mat stitch (vector<Mat>& images) { imgs = images;
vector<Mat> imgs;
cv::Mat stitch (vector<Mat>& images)
{
imgs = images;
Mat pano;
Ptr<Stitcher> stitcher = Stitcher::create(Stitcher::SCANS, true);
stitcher->setPanoConfidenceThresh(0.8f);
stitcher->setFeaturesMatcher(makePtr<cv::detail::AffineBestOf2NearestMatcher>(true, true, 0.8f));
Stitcher::Status status = stitcher->stitch(imgs, pano);
if (status != Stitcher::OK)
{
cout << "Can't stitch images, error code = " << int(status) << endl;
//return 0;
}
return pano;
}
矢量imgs;
cv::Mat stitch(矢量和图像)
{
imgs=图像;
马特帕诺;
Ptr-stitchr=stitchr::create(stitchr::SCANS,true);
缝纫机->设定阈值(0.8f);
缝合器->设置特征匹配器(makePtr(真,真,0.8f));
缝合器::状态状态=缝合器->缝合(imgs,pano);
如果(状态!=缝合器::确定)
{
cout我只是粗略地看了一下,但我怀疑您的问题在于OpenCV的结构。在Mac上运行时,它可以通过OpenCL使用GPU。但是,在iOS设备上运行时,它不能使用OpenCL,因为它不受支持。因此,它必须使用此处找到的基于CPU的实现
您将看到变量try\u use\u gpu
被广泛使用,并且基于它的配置和运行方式,这很可能是罪魁祸首。虽然我不能确定您的情况,但我以前发现有一些特定于iOS的功能被破坏,甚至根本不存在。尽管如此,您可能希望通过h希望有人能够拿起并修复项目。使用open cv 2.4.9版本的iOS应用程序缝合。此外,使用此代码,iOS应用程序将非常有用
我已经花了太多时间来修复崩溃,但现在它得到了修复。我弄乱了GPU标志,这似乎无关紧要,就像你说的,我正在尝试使用的特定类在iOS中被破坏了。