From 33f8b845c08e062fecfaaec790e8b181f2cdd669 Mon Sep 17 00:00:00 2001 From: Josh Klontz Date: Wed, 14 Jan 2015 15:56:13 -0500 Subject: [PATCH] exposed more SIFT properties --- openbr/plugins/keypoint.cpp | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/openbr/plugins/keypoint.cpp b/openbr/plugins/keypoint.cpp index cc59f03..6c3d88d 100644 --- a/openbr/plugins/keypoint.cpp +++ b/openbr/plugins/keypoint.cpp @@ -159,15 +159,35 @@ class SIFTDescriptorTransform : public UntrainableTransform { Q_OBJECT Q_PROPERTY(int size READ get_size WRITE set_size RESET reset_size STORED false) + Q_PROPERTY(QList sizes READ get_sizes WRITE set_sizes RESET reset_sizes STORED false) + Q_PROPERTY(int nFeatures READ get_nFeatures WRITE set_nFeatures RESET reset_nFeatures STORED false) + Q_PROPERTY(int nOctaveLayers READ get_nOctaveLayers WRITE set_nOctaveLayers RESET reset_nOctaveLayers STORED false) + Q_PROPERTY(double contrastThreshold READ get_contrastThreshold WRITE set_contrastThreshold RESET reset_contrastThreshold STORED false) + Q_PROPERTY(double edgeThreshold READ get_edgeThreshold WRITE set_edgeThreshold RESET reset_edgeThreshold STORED false) + Q_PROPERTY(double sigma READ get_sigma WRITE set_sigma RESET reset_sigma STORED false) BR_PROPERTY(int, size, 1) + BR_PROPERTY(QList, sizes, QList()) + BR_PROPERTY(int, nFeatures, 0) + BR_PROPERTY(int, nOctaveLayers, 3) + BR_PROPERTY(double, contrastThreshold, 0.04) + BR_PROPERTY(double, edgeThreshold, 10) + BR_PROPERTY(double, sigma, 1.6) SIFT sift; + void init() + { + if (sizes.empty()) + sizes.append(size); + sift = SIFT(nFeatures, nOctaveLayers, contrastThreshold, edgeThreshold, sigma); + } + void project(const Template &src, Template &dst) const { std::vector keyPoints; foreach (const QPointF &val, src.file.points()) - keyPoints.push_back(KeyPoint(val.x(), val.y(), size)); + foreach (const int r, sizes) + keyPoints.push_back(KeyPoint(val.x(), val.y(), r)); Mat m; sift(src, Mat(), keyPoints, m, true); -- libgit2 0.21.4