Commit 0863960c authored by biagio montesano's avatar biagio montesano

Reinsertion of OctaveKeyLines

parent d5eeb91d
......@@ -42,6 +42,14 @@ the use of this software, even if advised of the possibility of such damage.
#include <vector>
/* struct to represent lines extracted from an octave */
struct OctaveLine{
unsigned int octaveCount;//the octave which this line is detected
unsigned int lineIDInOctave;//the line ID in that octave image
unsigned int lineIDInScaleLineVec;//the line ID in Scale line vector
float lineLength; //the length of line in original image scale
};
// A 2D line (normal equation parameters).
struct SingleLine
{
......
......@@ -49,6 +49,7 @@
#include "LineStructure.hpp"
#include "opencv2/core.hpp"
namespace cv
{
......@@ -56,11 +57,10 @@ namespace cv
{
public:
virtual ~LineDescriptor();
void getLineBinaryDescriptor(std::vector<cv::Mat> & oct_binaryDescMat);
void getLineBinaryDescriptors(cv::Mat &oct_binaryDescMat);
protected:
virtual void getLineBinaryDescriptorImpl(std::vector<cv::Mat> & oct_binaryDescMat,
ScaleLines &keyLines);
virtual void getLineBinaryDescriptorsImpl(cv::Mat &oct_binaryDescMat);
};
......@@ -102,11 +102,11 @@ namespace cv
virtual void read( const cv::FileNode& fn );
virtual void write( cv::FileStorage& fs ) const;
void getLineBinaryDescriptor(cv::Mat & oct_binaryDescMat, ScaleLines &keyLines);
void getLineBinaryDescriptors(cv::Mat &oct_binaryDescMat);
protected:
virtual void getLineBinaryDescriptorImpl(std::vector<cv::Mat> & oct_binaryDescMat, ScaleLines &keyLines);
virtual void getLineBinaryDescriptorsImpl(cv::Mat &oct_binaryDescMat);
AlgorithmInfo* info() const;
Params params;
......@@ -115,6 +115,9 @@ namespace cv
private:
unsigned char binaryTest(float* f1, float* f2);
int ComputeLBD_(ScaleLines &keyLines);
int OctaveKeyLines(std::vector<cv::Mat> & octaveImages, ScaleLines &keyLines);
void getLineParameters(cv::Vec4i &line_extremes, cv::Vec3i &lineParams);
float getLineDirection(cv::Vec3i &lineParams);
/* the local gaussian coefficient apply to the orthogonal line direction within each band */
std::vector<float> gaussCoefL_;
......@@ -128,6 +131,9 @@ namespace cv
/* vectot to store sizes of octave images */
std::vector<cv::Size> images_sizes;
/* structure to store lines extracted from each octave image */
std::vector<std::vector<cv::Vec4i> > extractedLines;
};
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment