में कीपॉइंट्स का पता नहीं लगा रहा है। मैं ओआरबी के साथ कीपॉइंट्स का पता लगाने की कोशिश कर रहा हूं सब ठीक है जब तक कि मैं ओपनसीवी 2.4.9 पर स्विच नहीं करता।ओआरबी ओपनसीवी 2.4.9
firts, ऐसा लगता है कि कुंजियों की संख्या decresed, और कुछ छवियों के लिए, कोई keypoints पता चला है: (2.3.1 और 2.4.9)
:यह मेरा कोड दो संस्करण के साथ संकलित है
#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/features2d/features2d.hpp>
using namespace cv;
int main(int argc, char **argv){
Mat img = imread(argv[1]);
std::vector<KeyPoint> kp;
OrbFeatureDetector detector;
detector.detect(img, kp);
std::cout << "Found " << kp.size() << " Keypoints " << std::endl;
Mat out;
drawKeypoints(img, kp, out, Scalar::all(255));
imshow("Kpts", out);
waitKey(0);
return 0;
}
परिणाम: 2.3.1: मिले 152 keypoints
2,4। 9: मिला 0 keypoints
मैं भी एक अलग ओर्ब निर्माता के साथ परीक्षण किया है, लेकिन मैं एक ही परिणाम मिलता है, कोई KPts। 2.3.1 डिफ़ॉल्ट के निर्माता के रूप में एक ही constuctor मान: 2.4.9 कस्टम कंस्ट्रक्शन:
#include <iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/features2d/features2d.hpp>
using namespace cv;
int main(int argc, char **argv){
Mat img = imread(argv[1]);
std::vector<KeyPoint> kp;
// default in 2.4.9 is : ORB(700, 1.2f, 3, 31, 0);
OrbFeatureDetector detector(500, 1.2f, 8, 31, 0); // default values of 2.3.1
detector.detect(img, kp);
std::cout << "Found " << kp.size() << " Keypoints " << std::endl;
Mat out;
drawKeypoints(img, kp, out, Scalar::all(255));
imshow("Kpts", out);
waitKey(0);
return 0;
}
क्या आपको पता है क्या हो रहा है है? और मैं इसे कैसे ठीक कर सकता हूं?
धन्यवाद।
क्या आपको कोई समाधान मिला? –
अन्य छवियों पर आपको 0 कीपॉइंट्स भी मिलीं? या ओपनसीवी 2.3.1 के मुकाबले कम महत्वपूर्ण बिंदु? – Whysmerhill