提交 61cddd8b 编写于 作者: V Vadim Pisarevsky

fixed opencv_java build

上级 25a7d023
......@@ -673,7 +673,7 @@ static int preprocessMSER_8uC3( MSCRNode* node,
int Ne,
int edgeBlurSize )
{
int srccpt = src.step-src.cols*3;
int srccpt = (int)(src.step-src.cols*3);
const uchar* srcptr = src.ptr();
const uchar* lastptr = srcptr+3;
double* dxptr = dx.ptr<double>();
......
......@@ -75,9 +75,6 @@ protected:
}
vector<KeyPoint> keypoints;
vector<vector<Point> > msers;
CvMat src = image;
detector->detect(image, keypoints);
if(keypoints.empty())
......
......@@ -90,67 +90,68 @@ public:
//not supported: SimpleBlob, Dense
CV_WRAP static javaFeatureDetector* create( int detectorType )
{
String name;
//String name;
if (detectorType > DYNAMICDETECTOR)
{
name = "Dynamic";
//name = "Dynamic";
detectorType -= DYNAMICDETECTOR;
}
if (detectorType > PYRAMIDDETECTOR)
{
name = "Pyramid";
//name = "Pyramid";
detectorType -= PYRAMIDDETECTOR;
}
if (detectorType > GRIDDETECTOR)
{
name = "Grid";
//name = "Grid";
detectorType -= GRIDDETECTOR;
}
Ptr<FeatureDetector> fd;
switch(detectorType)
{
case FAST:
name = name + "FAST";
break;
case STAR:
name = name + "STAR";
break;
case SIFT:
name = name + "SIFT";
break;
case SURF:
name = name + "SURF";
fd = FastFeatureDetector::create();
break;
//case STAR:
// fd = xfeatures2d::StarDetector::create();
// break;
//case SIFT:
// name = name + "SIFT";
// break;
//case SURF:
// name = name + "SURF";
// break;
case ORB:
name = name + "ORB";
fd = ORB::create();
break;
case MSER:
name = name + "MSER";
fd = MSER::create();
break;
case GFTT:
name = name + "GFTT";
fd = GFTTDetector::create();
break;
case HARRIS:
name = name + "HARRIS";
fd = GFTTDetector::create();
break;
case SIMPLEBLOB:
name = name + "SimpleBlob";
break;
case DENSE:
name = name + "Dense";
fd = SimpleBlobDetector::create();
break;
//case DENSE:
// name = name + "Dense";
// break;
case BRISK:
name = name + "BRISK";
fd = BRISK::create();
break;
case AKAZE:
name = name + "AKAZE";
fd = AKAZE::create();
break;
default:
CV_Error( Error::StsBadArg, "Specified feature detector type is not supported." );
break;
}
return new javaFeatureDetector(FeatureDetector::create(name));
return new javaFeatureDetector(fd);
}
CV_WRAP void write( const String& fileName ) const
......@@ -332,43 +333,44 @@ public:
//not supported: Calonder
CV_WRAP static javaDescriptorExtractor* create( int extractorType )
{
String name;
//String name;
if (extractorType > OPPONENTEXTRACTOR)
{
name = "Opponent";
//name = "Opponent";
extractorType -= OPPONENTEXTRACTOR;
}
Ptr<DescriptorExtractor> de;
switch(extractorType)
{
case SIFT:
name = name + "SIFT";
break;
case SURF:
name = name + "SURF";
break;
//case SIFT:
// name = name + "SIFT";
// break;
//case SURF:
// name = name + "SURF";
// break;
case ORB:
name = name + "ORB";
break;
case BRIEF:
name = name + "BRIEF";
de = ORB::create();
break;
//case BRIEF:
// name = name + "BRIEF";
// break;
case BRISK:
name = name + "BRISK";
break;
case FREAK:
name = name + "FREAK";
de = BRISK::create();
break;
//case FREAK:
// name = name + "FREAK";
// break;
case AKAZE:
name = name + "AKAZE";
de = AKAZE::create();
break;
default:
CV_Error( Error::StsBadArg, "Specified descriptor extractor type is not supported." );
break;
}
return new javaDescriptorExtractor(DescriptorExtractor::create(name));
return new javaDescriptorExtractor(de);
}
CV_WRAP void write( const String& fileName ) const
......
......@@ -24,15 +24,9 @@ JNI_OnLoad(JavaVM* vm, void* )
return -1;
bool init = true;
#ifdef HAVE_OPENCV_FEATURES2D
init &= cv::initModule_features2d();
#endif
#ifdef HAVE_OPENCV_VIDEO
init &= cv::initModule_video();
#endif
#ifdef HAVE_OPENCV_CONTRIB
init &= cv::initModule_contrib();
#endif
if(!init)
return -1;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册