Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/109.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ OpenCV缝合器模式:使用某些属性扫描崩溃_C++_Ios_Opencv3.0_Objective C++ - Fatal编程技术网

C++ OpenCV缝合器模式:使用某些属性扫描崩溃

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;

我正在尝试设置一个平面图像缝合应用程序,但如果我将缝合器放在平面扭曲器下面,该应用程序将崩溃,出现错误的访问异常。我还了解到,ORB功能查找最适合平面缝合,但使用OrbFeatureFinder也会导致应用程序在缝合功能中崩溃。我知道我不完全了解缝合管道是如何工作的,所以如果有人能帮助我理解这个问题,我将不胜感激

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中被破坏了。