zoukankan      html  css  js  c++  java
  • OpenCV的CV :: findHomography运行时错误

    我和Features2D +单应运行代码找到一个已知对象的教程,和我得到这个

    OpenCV Error: Assertion failed (npoints >= 0 && points2.checkVector(2) == npoint
    s && points1.type() == points2.type()) in unknown function, file c:Usersvpwor
    kocvopencvmodulescalib3dsrcfundam.cpp, line 1062
    

    运行错误。调试后,我发现程序崩溃在findHomography函数。

    Unhandled exception at 0x760ab727 in OpenCVTemplateMatch.exe: Microsoft C++ exception: cv::Exception at memory location 0x0029eb3c..
    

    在基于OpenCV的介绍,在“CV章说, 当前或未来的OpenCV外部可以与STL或其他库冲突。在这种情况下,使用明确的规范来解决冲突: 我改变了我的代码随处可见明确的规范,但问题并没有解决。如果可以的话 CodeGo.net,请在这个问题上,还是说这函数做的事情findHomography,并且不死机的程序。 这是我的代码

    1. 今天我碰到这个例子代码中的问题。@数学咖啡是正确的没有特征提取,OBJ和场景是空的。我更换了测试图片和它的工作。从textures样式图像您不能提取SURF特征。 另一种方式是降低minHessianve.g。 `诠释minHessian=20; FAST的特征检测器通过改变几行:

     //-- Step 1: Detect the keypoints using SURF Detector
     int minHessian = 15;
     FastFeatureDetector detector( minHessian );
    


    2. 我有问题,我也跟着解决了MMH。只是写cv::Mat H = cv::findHomography( cv::Mat(obj), cv::Mat(scene), CV_RANSAC ); cv::perspectiveTransform( cv::Mat(obj_corners), cv::Mat(scene_corners), H);解决了这个问题。 
    3. 实际的答案是内

    npoints >= 0 && points2.checkVector(2) == npoints && points1.type() == points2.type()
    

    人类可读的翻译,你必须实现这些assertions: 您的输入必须有点的正数(在实践中findHomography需要4个或更多个点)。 你的“对象”和点“杨继明'列表必须具有的点数。 你的“对象”和点“:杨继明,名单必须点的类型。 
    4. 你将不得不转换点,太你将它传递给findHomography()和perspectiveTransfor前 
    5. 更可能的是,问题就在这里:

     if( matches[i].distance < 3*min_dist)
    

    strict的不等式是不是你想要的。如果min_dist == 0 CodeGo.net,一个很不错的,你会不顾一切零距离点。替换为:

     if( matches[i].distance <= 3*min_dist)
    

    你应该看到的匹配以及良好的图像效果。 优雅地退出,我也想补充,例如:

    if (good_matches.size() == 0)
    {
     std::cout<< " --(!) No good matches found " << std::endl; return -2; 
    }
  • 相关阅读:
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    Evanyou Blog 彩带
    《鸟哥的Linux私房菜》读书笔记
    w命令集合
  • 原文地址:https://www.cnblogs.com/Erdos001/p/4487920.html
Copyright © 2011-2022 走看看