Commit c18d1ee2 authored by Vadim Pisarevsky's avatar Vadim Pisarevsky

SURF kind of works (let's see if the tests pass)

parent 8d5e9522
...@@ -585,7 +585,7 @@ class CV_EXPORTS Image2D ...@@ -585,7 +585,7 @@ class CV_EXPORTS Image2D
{ {
public: public:
Image2D(); Image2D();
Image2D(const UMat &src); explicit Image2D(const UMat &src);
~Image2D(); ~Image2D();
void* ptr() const; void* ptr() const;
......
This diff is collapsed.
...@@ -902,7 +902,7 @@ void SURF::operator()(InputArray _img, InputArray _mask, ...@@ -902,7 +902,7 @@ void SURF::operator()(InputArray _img, InputArray _mask,
bool doDescriptors = _descriptors.needed(); bool doDescriptors = _descriptors.needed();
CV_Assert(!_img.empty() && CV_MAT_DEPTH(imgtype) == CV_8U && (imgcn == 1 || imgcn == 3 || imgcn == 4)); CV_Assert(!_img.empty() && CV_MAT_DEPTH(imgtype) == CV_8U && (imgcn == 1 || imgcn == 3 || imgcn == 4));
CV_Assert(_descriptors.needed() && !useProvidedKeypoints); CV_Assert(_descriptors.needed() || !useProvidedKeypoints);
if( ocl::useOpenCL() ) if( ocl::useOpenCL() )
{ {
......
...@@ -54,14 +54,11 @@ protected: ...@@ -54,14 +54,11 @@ protected:
bool setImage(InputArray img, InputArray mask); bool setImage(InputArray img, InputArray mask);
// kernel callers declarations // kernel callers declarations
bool calcLayerDetAndTrace(UMat &det, UMat &trace, int octave, int layer_rows); bool calcLayerDetAndTrace(int octave, int layer_rows);
bool findMaximaInLayer(const UMat &det, const UMat &trace, UMat &maxPosBuffer, bool findMaximaInLayer(int counterOffset, int octave, int layer_rows, int layer_cols);
UMat &maxCounter, int counterOffset,
int octave, int layer_rows, int layer_cols);
bool interpolateKeypoint(const UMat &det, const UMat &maxPosBuffer, int maxCounter, bool interpolateKeypoint(int maxCounter, UMat &keypoints, int octave, int layer_rows, int maxFeatures);
UMat &keypoints, UMat &counters, int octave, int layer_rows, int maxFeatures);
bool calcOrientation(UMat &keypoints); bool calcOrientation(UMat &keypoints);
...@@ -75,7 +72,7 @@ protected: ...@@ -75,7 +72,7 @@ protected:
int refcount; int refcount;
//! max keypoints = min(keypointsRatio * img.size().area(), 65535) //! max keypoints = min(keypointsRatio * img.size().area(), 65535)
UMat sum, mask1, maskSum, intBuffer; UMat sum, intBuffer;
UMat det, trace; UMat det, trace;
UMat maxPosBuffer; UMat maxPosBuffer;
...@@ -87,12 +84,11 @@ protected: ...@@ -87,12 +84,11 @@ protected:
UMat img, counters; UMat img, counters;
// texture buffers // texture buffers
ocl::Image2D imgTex, sumTex, maskSumTex; ocl::Image2D imgTex, sumTex;
bool haveImageSupport; bool haveImageSupport;
String kerOpts;
int status; int status;
ocl::Kernel kerCalcDetTrace, kerFindMaxima, kerFindMaximaMask, kerInterp;
ocl::Kernel kerUpRight, kerOri, kerCalcDesc64, kerCalcDesc128, kerNormDesc64, kerNormDesc128;
}; };
/* /*
......
This diff is collapsed.
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