fixed several test failures; currently 9 out of 73 tests fail
This commit is contained in:
parent
06d4aa6060
commit
162384a838
@ -187,6 +187,28 @@ namespace cv
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void write(FileStorage& fs) const
|
||||||
|
{
|
||||||
|
fs << "descriptor" << descriptor;
|
||||||
|
fs << "descriptor_channels" << descriptor_channels;
|
||||||
|
fs << "descriptor_size" << descriptor_size;
|
||||||
|
fs << "threshold" << threshold;
|
||||||
|
fs << "octaves" << octaves;
|
||||||
|
fs << "sublevels" << sublevels;
|
||||||
|
fs << "diffusivity" << diffusivity;
|
||||||
|
}
|
||||||
|
|
||||||
|
void read(const FileNode& fn)
|
||||||
|
{
|
||||||
|
descriptor = (int)fn["descriptor"];
|
||||||
|
descriptor_channels = (int)fn["descriptor_channels"];
|
||||||
|
descriptor_size = (int)fn["descriptor_size"];
|
||||||
|
threshold = (float)fn["threshold"];
|
||||||
|
octaves = (int)fn["octaves"];
|
||||||
|
sublevels = (int)fn["sublevels"];
|
||||||
|
diffusivity = (int)fn["diffusivity"];
|
||||||
|
}
|
||||||
|
|
||||||
int descriptor;
|
int descriptor;
|
||||||
int descriptor_channels;
|
int descriptor_channels;
|
||||||
int descriptor_size;
|
int descriptor_size;
|
||||||
|
@ -2099,7 +2099,7 @@ BriskLayer::BriskLayer(const BriskLayer& layer, int mode)
|
|||||||
void
|
void
|
||||||
BriskLayer::getAgastPoints(int threshold, std::vector<KeyPoint>& keypoints)
|
BriskLayer::getAgastPoints(int threshold, std::vector<KeyPoint>& keypoints)
|
||||||
{
|
{
|
||||||
fast_9_16_->set("threshold", threshold);
|
fast_9_16_ = FastFeatureDetector::create(threshold);
|
||||||
fast_9_16_->detect(img_, keypoints);
|
fast_9_16_->detect(img_, keypoints);
|
||||||
|
|
||||||
// also write scores
|
// also write scores
|
||||||
|
@ -60,6 +60,11 @@ void Feature2D::detect( InputArray image,
|
|||||||
std::vector<KeyPoint>& keypoints,
|
std::vector<KeyPoint>& keypoints,
|
||||||
InputArray mask )
|
InputArray mask )
|
||||||
{
|
{
|
||||||
|
if( image.empty() )
|
||||||
|
{
|
||||||
|
keypoints.clear();
|
||||||
|
return;
|
||||||
|
}
|
||||||
detectAndCompute(image, mask, keypoints, noArray(), false);
|
detectAndCompute(image, mask, keypoints, noArray(), false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -97,6 +102,11 @@ void Feature2D::compute( InputArray image,
|
|||||||
std::vector<KeyPoint>& keypoints,
|
std::vector<KeyPoint>& keypoints,
|
||||||
OutputArray descriptors )
|
OutputArray descriptors )
|
||||||
{
|
{
|
||||||
|
if( image.empty() )
|
||||||
|
{
|
||||||
|
descriptors.release();
|
||||||
|
return;
|
||||||
|
}
|
||||||
detectAndCompute(image, noArray(), keypoints, descriptors, true);
|
detectAndCompute(image, noArray(), keypoints, descriptors, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -132,6 +132,26 @@ namespace cv
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void write(FileStorage& fs) const
|
||||||
|
{
|
||||||
|
fs << "extended" << (int)extended;
|
||||||
|
fs << "upright" << (int)upright;
|
||||||
|
fs << "threshold" << threshold;
|
||||||
|
fs << "octaves" << octaves;
|
||||||
|
fs << "sublevels" << sublevels;
|
||||||
|
fs << "diffusivity" << diffusivity;
|
||||||
|
}
|
||||||
|
|
||||||
|
void read(const FileNode& fn)
|
||||||
|
{
|
||||||
|
extended = (int)fn["extended"] != 0;
|
||||||
|
upright = (int)fn["upright"] != 0;
|
||||||
|
threshold = (float)fn["threshold"];
|
||||||
|
octaves = (int)fn["octaves"];
|
||||||
|
sublevels = (int)fn["sublevels"];
|
||||||
|
diffusivity = (int)fn["diffusivity"];
|
||||||
|
}
|
||||||
|
|
||||||
bool extended;
|
bool extended;
|
||||||
bool upright;
|
bool upright;
|
||||||
float threshold;
|
float threshold;
|
||||||
|
@ -145,7 +145,7 @@ int KAZEFeatures::Create_Nonlinear_Scale_Space(const Mat &img)
|
|||||||
*/
|
*/
|
||||||
void KAZEFeatures::Compute_KContrast(const Mat &img, const float &kpercentile)
|
void KAZEFeatures::Compute_KContrast(const Mat &img, const float &kpercentile)
|
||||||
{
|
{
|
||||||
options_.kcontrast = compute_k_percentile(img, kpercentile, options_.sderivatives, options_.kcontrast_bins, 0, 0);
|
options_.kcontrast = compute_k_percentile(img, kpercentile, options_.sderivatives, options_.kcontrast_bins, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ************************************************************************* */
|
/* ************************************************************************* */
|
||||||
|
@ -72,7 +72,7 @@ void CV_BRISKTest::run( int )
|
|||||||
cvtColor(image1, gray1, COLOR_BGR2GRAY);
|
cvtColor(image1, gray1, COLOR_BGR2GRAY);
|
||||||
cvtColor(image2, gray2, COLOR_BGR2GRAY);
|
cvtColor(image2, gray2, COLOR_BGR2GRAY);
|
||||||
|
|
||||||
Ptr<FeatureDetector> detector = Algorithm::create<FeatureDetector>("Feature2D.BRISK");
|
Ptr<FeatureDetector> detector = BRISK::create();
|
||||||
|
|
||||||
vector<KeyPoint> keypoints1;
|
vector<KeyPoint> keypoints1;
|
||||||
vector<KeyPoint> keypoints2;
|
vector<KeyPoint> keypoints2;
|
||||||
|
@ -532,12 +532,14 @@ void CV_DescriptorMatcherTest::run( int )
|
|||||||
|
|
||||||
TEST( Features2d_DescriptorMatcher_BruteForce, regression )
|
TEST( Features2d_DescriptorMatcher_BruteForce, regression )
|
||||||
{
|
{
|
||||||
CV_DescriptorMatcherTest test( "descriptor-matcher-brute-force", Algorithm::create<DescriptorMatcher>("DescriptorMatcher.BFMatcher"), 0.01f );
|
CV_DescriptorMatcherTest test( "descriptor-matcher-brute-force",
|
||||||
|
DescriptorMatcher::create("BFMatcher"), 0.01f );
|
||||||
test.safe_run();
|
test.safe_run();
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST( Features2d_DescriptorMatcher_FlannBased, regression )
|
TEST( Features2d_DescriptorMatcher_FlannBased, regression )
|
||||||
{
|
{
|
||||||
CV_DescriptorMatcherTest test( "descriptor-matcher-flann-based", Algorithm::create<DescriptorMatcher>("DescriptorMatcher.FlannBasedMatcher"), 0.04f );
|
CV_DescriptorMatcherTest test( "descriptor-matcher-flann-based",
|
||||||
|
DescriptorMatcher::create("FlannBasedMatcher"), 0.04f );
|
||||||
test.safe_run();
|
test.safe_run();
|
||||||
}
|
}
|
||||||
|
@ -47,9 +47,7 @@ using namespace cv;
|
|||||||
|
|
||||||
TEST(Features2D_ORB, _1996)
|
TEST(Features2D_ORB, _1996)
|
||||||
{
|
{
|
||||||
Ptr<FeatureDetector> fd = ORB::create();
|
Ptr<FeatureDetector> fd = ORB::create(10000, 1.2f, 8, 31, 0, 2, ORB::HARRIS_SCORE, 31, 20);
|
||||||
fd->set("nFeatures", 10000);//setting a higher maximum to make effect of threshold visible
|
|
||||||
fd->set("fastThreshold", 20);//more features than the default
|
|
||||||
Ptr<DescriptorExtractor> de = fd;
|
Ptr<DescriptorExtractor> de = fd;
|
||||||
|
|
||||||
Mat image = imread(string(cvtest::TS::ptr()->get_data_path()) + "shared/lena.png");
|
Mat image = imread(string(cvtest::TS::ptr()->get_data_path()) + "shared/lena.png");
|
||||||
|
@ -615,19 +615,15 @@ TEST(Features2d_RotationInvariance_Detector_ORB, regression)
|
|||||||
|
|
||||||
TEST(Features2d_RotationInvariance_Descriptor_BRISK, regression)
|
TEST(Features2d_RotationInvariance_Descriptor_BRISK, regression)
|
||||||
{
|
{
|
||||||
DescriptorRotationInvarianceTest test(Algorithm::create<FeatureDetector>("Feature2D.BRISK"),
|
Ptr<Feature2D> f2d = BRISK::create();
|
||||||
Algorithm::create<DescriptorExtractor>("Feature2D.BRISK"),
|
DescriptorRotationInvarianceTest test(f2d, f2d, f2d->defaultNorm(), 0.99f);
|
||||||
Algorithm::create<DescriptorExtractor>("Feature2D.BRISK")->defaultNorm(),
|
|
||||||
0.99f);
|
|
||||||
test.safe_run();
|
test.safe_run();
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(Features2d_RotationInvariance_Descriptor_ORB, regression)
|
TEST(Features2d_RotationInvariance_Descriptor_ORB, regression)
|
||||||
{
|
{
|
||||||
DescriptorRotationInvarianceTest test(Algorithm::create<FeatureDetector>("Feature2D.ORB"),
|
Ptr<Feature2D> f2d = ORB::create();
|
||||||
Algorithm::create<DescriptorExtractor>("Feature2D.ORB"),
|
DescriptorRotationInvarianceTest test(f2d, f2d, f2d->defaultNorm(), 0.99f);
|
||||||
Algorithm::create<DescriptorExtractor>("Feature2D.ORB")->defaultNorm(),
|
|
||||||
0.99f);
|
|
||||||
test.safe_run();
|
test.safe_run();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -646,25 +642,19 @@ TEST(Features2d_RotationInvariance_Descriptor_ORB, regression)
|
|||||||
|
|
||||||
TEST(Features2d_ScaleInvariance_Detector_BRISK, regression)
|
TEST(Features2d_ScaleInvariance_Detector_BRISK, regression)
|
||||||
{
|
{
|
||||||
DetectorScaleInvarianceTest test(Algorithm::create<FeatureDetector>("Feature2D.BRISK"),
|
DetectorScaleInvarianceTest test(BRISK::create(), 0.08f, 0.49f);
|
||||||
0.08f,
|
|
||||||
0.49f);
|
|
||||||
test.safe_run();
|
test.safe_run();
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(Features2d_ScaleInvariance_Detector_KAZE, regression)
|
TEST(Features2d_ScaleInvariance_Detector_KAZE, regression)
|
||||||
{
|
{
|
||||||
DetectorScaleInvarianceTest test(Algorithm::create<FeatureDetector>("Feature2D.KAZE"),
|
DetectorScaleInvarianceTest test(KAZE::create(), 0.08f, 0.49f);
|
||||||
0.08f,
|
|
||||||
0.49f);
|
|
||||||
test.safe_run();
|
test.safe_run();
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(Features2d_ScaleInvariance_Detector_AKAZE, regression)
|
TEST(Features2d_ScaleInvariance_Detector_AKAZE, regression)
|
||||||
{
|
{
|
||||||
DetectorScaleInvarianceTest test(Algorithm::create<FeatureDetector>("Feature2D.AKAZE"),
|
DetectorScaleInvarianceTest test(AKAZE::create(), 0.08f, 0.49f);
|
||||||
0.08f,
|
|
||||||
0.49f);
|
|
||||||
test.safe_run();
|
test.safe_run();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user