BRISK.create1 constructor

BRISK.create1({
  1. required List<double> radiusList,
  2. required List<int> numberList,
  3. double dMax = 5.85,
  4. double dMin = 8.2,
  5. List<int>? indexChange,
})

The BRISK constructor for a custom pattern

radiusList defines the radii (in pixels) where the samples around a keypoint are taken (for keypoint scale 1). numberList defines the number of sampling points on the sampling circle. Must be the same size as radiusList.. dMax threshold for the short pairings used for descriptor formation (in pixels for keypoint scale 1). dMin threshold for the long pairings used for orientation determination (in pixels for keypoint scale 1). indexChange index remapping of the bits.

CV_WRAP static Ptr<BRISK> create(const std::vector<float> &radiusList, const std::vector<int> &numberList,
    float dMax=5.85f, float dMin=8.2f, const std::vector<int>& indexChange=std::vector<int>());

https://docs.opencv.org/4.x/de/dbf/classcv_1_1BRISK.html#ad3b513ded80119670e5efa90a31705ac

Implementation

factory BRISK.create1({
  required List<double> radiusList,
  required List<int> numberList,
  double dMax = 5.85,
  double dMin = 8.2,
  List<int>? indexChange,
}) {
  final p = calloc<cvg.BRISK>();
  final radiusList_ = radiusList.f32;
  final numberList_ = numberList.i32;
  final indexChange_ = indexChange?.i32 ?? VecI32();
  cvRun(
    () => cfeatures2d.cv_BRISK_create_1(radiusList_.ref, numberList_.ref, dMax, dMin, indexChange_.ref, p),
  );
  radiusList_.dispose();
  numberList_.dispose();
  indexChange_.dispose();
  return BRISK._(p);
}