2 Nisan 2017 Pazar

OpenCV SiftFeatureDetector Sınıfı

SiftFeatureDetector Sınıfı
Giriş
Şu satırı dahil ederiz.
#include <opencv2/nonfree/features2d.hpp> // SIFT
Şu satırı dahil ederiz.
#include <opencv2/features2d.hpp>
#include <opencv2/xfeatures2d.hpp>
Açıklaması şöyle
Feature detectors like SIFT or SURF are designed to work and match images that have a rich and distinctive texture. They are not designed to work with very spares binary inputs.
Constructor
Şöyle yaparız.
SiftFeatureDetector siftDetector;
Şöyle yaparız.
cv::Mat img = ...;
cv::Ptr<cv::xfeatures2d::SiftFeatureDetector> siftDetector = 
  cv::xfeatures2d::SiftFeatureDetector::create();
Constructor
Şöyle yaparız.
cv::SiftFeatureDetector siftDetector (0.0001, 1.0);
detect metodu
Şöyle yaparız.
Mat frame = ...;
vector<KeyPoint> siftKeypoints;
siftDetector.detect(frame, siftKeypoints);
detect metodundan sonra şöyle yaparız.
drawKeypoints(img1,keypoints1,img2,Scalar(255, 255, 255),
  DrawMatchesFlags::DRAW_RICH_KEYPOINTS);
SiftDescriptorExtractor Sınıfı
Constructor
Şöyle yaparız.
SiftDescriptorExtractor siftDescriptor;
compute metodu
Şöyle yaparız.
Mat frame = ...;
vector<KeyPoint> siftKeypoints = ...;

Mat_<float> descriptors;
siftDescriptor.compute(frame, siftKeypoints, descriptors);

Hiç yorum yok:

Yorum Gönder