public ObjectAnalysis analyzeObject(Mat object) throws IllegalArgumentException {
  Mat descriptors=new Mat();
  MatOfKeyPoint keypoints=new MatOfKeyPoint();
  Log.d("FTCVision","Analyzing object...");
  if (object == null || object.empty()) {
    throw new IllegalArgumentException("Object image cannot be empty!");
  }
  detector.detect(object,keypoints);
  extractor.compute(object,keypoints,descriptors);
  return new ObjectAnalysis(keypoints,descriptors,object);
}

public ObjectAnalysis analyzeObject ( Mat object ) throws IllegalArgumentException { Mat descriptors = new Mat ( ) ; MatOfKeyPoint keypoints = new MatOfKeyPoint ( ) ; Log . d ( "FTCVision" , "Analyzing object..." ) ; if ( object == null || object . empty ( ) ) { throw new IllegalArgumentException ( "Object image cannot be empty!" ) ; } detector . detect ( object , keypoints ) ; extractor . compute ( object , keypoints , descriptors ) ; return new ObjectAnalysis ( keypoints , descriptors , object ) ; }
analyzes an object in preparation to search for the object in a frame . < p / > this method should be called in an initialize ( ) method . calling the analyzeobject method twice will overwrite the previous objectanalysis . < p / > it is recommended to use a gftt ( good features to track ) detector for this phase .
