1 | initial version |
all feature2d classes return a Ptr<Feature2D>
. if you don't use a smartpointer to catch it, you instance is already dead in line 1. so, it has to be:
cv::Ptr<cv::Feature2d> detector = cv::ORB::create();
CV_Assert( ! detector.empty() );
2 | No.2 Revision |
all feature2d classes return a Ptr<Feature2D>
. from the create() method. if you don't use a smartpointer to catch it, you instance is already dead in line 1. so, it has to be:
cv::Ptr<cv::Feature2d> detector = cv::ORB::create();
CV_Assert( ! detector.empty() );
3 | No.3 Revision |
all feature2d classes return a Ptr<Feature2D>
from the create() method. if you don't use a smartpointer to catch it, you instance is already dead in line 1. 1 (that is your segfault). so, it has to be:
cv::Ptr<cv::Feature2d> detector = cv::ORB::create();
CV_Assert( ! detector.empty() );
4 | No.4 Revision |
all feature2d classes return a
from the create() method. if you don't use a smartpointer to catch it, you instance is already dead in line 1 (that is your segfault). so, it has to be: Ptr<Feature2D>Ptr<Something>
cv::Ptr<cv::Feature2d> cv::Ptr<cv::ORB> detector = cv::ORB::create();
CV_Assert( ! detector.empty() );
5 | No.5 Revision |
all feature2d classes return a Ptr<Something>
from the create() method. if you don't use a smartpointer to catch it, you instance is already dead in line 1 (that is your segfault). segfault, it self-destroyed). so, it has to be:
cv::Ptr<cv::ORB> detector = cv::ORB::create();
CV_Assert( ! detector.empty() );