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.
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
I hope i won't end up splitting the image myself...