Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

GRID_ORB Detector on Android

Hello there. I read that it's not possible to use GRID_ORB Detection with the code below. So how do you use it on android. I need to spread the features across the image. If you have another solution for this matter, you can give me that aswell.

FeatureDetector det = FeatureDetector.create(FeatureDetector.GRID_ORB);

A Code example would be really great.

Thanks in advance

GRID_ORB Detector on Android

Hello there. I read that it's not possible to use GRID_ORB Detection with the code below. So how do you use it on android. I need to spread the features across the image. If you have another solution for this matter, you can give me that aswell.

FeatureDetector det = FeatureDetector.create(FeatureDetector.GRID_ORB);

A Code example would be really great.

Thanks in advance

EDIT: Here some code for changing the Parameters of a detector. But how does it work together if I want to create a GRID_ORB Detector?

String filename = "/path/to/file/orb_params.yml";
writeFile(paramFile, "%YAML:1.0\nscaleFactor: 1.2\nnLevels: 8\nfirstLevel: 0 \nedgeThreshold: 31\npatchSize: 31\nWTA_K: 2\nscoreType: 0\nnFeatures: 500\n");

extractor.read(filename); //note: this will fail if the above parameters are not the ones expected by method

GRID_ORB Detector on Android

Hello there. I read that it's not possible to use GRID_ORB Detection with the code below. So how do you use it on android. I need to spread the features across the image. If you have another solution for this matter, you can give me that aswell.

FeatureDetector det = FeatureDetector.create(FeatureDetector.GRID_ORB);

A Code example would be really great.

Thanks in advance

EDIT: Here some code for changing the Parameters of a detector. extractor (works the same way for the detector). But how does it work together if I want to create a GRID_ORB Detector?

String filename = "/path/to/file/orb_params.yml";
writeFile(paramFile, "%YAML:1.0\nscaleFactor: 1.2\nnLevels: 8\nfirstLevel: 0 \nedgeThreshold: 31\npatchSize: 31\nWTA_K: 2\nscoreType: 0\nnFeatures: 500\n");

extractor.read(filename); //note: this will fail if the above parameters are not the ones expected by method

GRID_ORB Detector on Android

Hello there. I read that it's not possible to use GRID_ORB Detection with the code below. So how do you use it on android. I need to spread the features across the image. If you have another solution for this matter, you can give me that aswell.

FeatureDetector det = FeatureDetector.create(FeatureDetector.GRID_ORB);

A Code example would be really great.

Thanks in advance

EDIT: EDIT1: Here some code for changing the Parameters of a extractor (works the same way for the detector). But how does it work together if I want to create a GRID_ORB Detector?

String filename = "/path/to/file/orb_params.yml";
writeFile(paramFile, "%YAML:1.0\nscaleFactor: 1.2\nnLevels: 8\nfirstLevel: 0 \nedgeThreshold: 31\npatchSize: 31\nWTA_K: 2\nscoreType: 0\nnFeatures: 500\n");

extractor.read(filename); //note: this will fail if the above parameters are not the ones expected by method

EDIT2: Here is a yml file from the ORB_GRID detector I created.

%YAML:1.0
name: "Feature2D.Grid"
detector:
name: "Feature2D.ORB"
WTA_K: 2
edgeThreshold: 31
firstLevel: 0
nFeatures: 500
nLevels: 8
patchSize: 31
scaleFactor: 1.2000000476837158e+00
scoreType: 0
gridCols: 4
gridRows: 4
maxTotalKeypoints: 1000

So it seems to be a GRID Detector, but if i detect the keypoints of an image, there aren't any.

GRID_ORB Detector on Android

Hello there. I read that it's not possible to use GRID_ORB Detection with the code below. So how do you use it on android. I need to spread the features across the image. If you have another solution for this matter, you can give me that aswell.

FeatureDetector det = FeatureDetector.create(FeatureDetector.GRID_ORB);

A Code example would be really great.

Thanks in advance

EDIT1: Here some code for changing the Parameters of a extractor (works the same way for the detector). But how does it work together if I want to create a GRID_ORB Detector?

String filename = "/path/to/file/orb_params.yml";
writeFile(paramFile, "%YAML:1.0\nscaleFactor: 1.2\nnLevels: 8\nfirstLevel: 0 \nedgeThreshold: 31\npatchSize: 31\nWTA_K: 2\nscoreType: 0\nnFeatures: 500\n");

extractor.read(filename); //note: this will fail if the above parameters are not the ones expected by method

EDIT2: Here is a yml file from the ORB_GRID detector I created.

%YAML:1.0
name: "Feature2D.Grid"
detector:
name: "Feature2D.ORB"
WTA_K: 2
edgeThreshold: 31
firstLevel: 0
nFeatures: 500
nLevels: 8
patchSize: 31
scaleFactor: 1.2000000476837158e+00
scoreType: 0
gridCols: 4
gridRows: 4
maxTotalKeypoints: 1000

So it seems to be a GRID Detector, but if i detect the keypoints of an image, there aren't any.

any.

EDIT3: FeatureDetector det = FeatureDetector.create(FeatureDetector.GRID_FAST); GRID_FAST works pretty good, but the ORB descriptors of these features are bad. I have no clue why GRID_ORB doesn't give any keypoints. I adjusted the parameters so they suit the grid detection better.

%YAML:1.0
name: "Feature2D.Grid"
detector:
name: "Feature2D.ORB"
WTA_K: 2
edgeThreshold: 31
firstLevel: 0
nFeatures: 10
nLevels: 8
patchSize: 31
scaleFactor: 1.2000000476837158e+00
scoreType: 0
gridCols: 8
gridRows: 8
maxTotalKeypoints: 500