Eigen::Matrix2Xd PatternMatcherIsometric::DotDetection()

in IsometricPatternMatcher/PatternMatcherIsometric.cpp [12:32]


Eigen::Matrix2Xd PatternMatcherIsometric::DotDetection(
    const Image<uint8_t>& image) const {
  DotExtractor32 extractor;
  ManagedImage<DotTypeFloat> dots;
  uint32_t numDots;
  Eigen::AlignedBox2i roi(
      Eigen::Vector2i(10, 10),
      Eigen::Vector2i(image.Width() - 10, image.Height() - 10));
  extractor.setHessThresh(opts_.hessThresh);
  extractor.setBlurKernelRadius(opts_.blurKernelRadius);
  extractor.loadIrImage(image);
  extractor.extractDots(roi);
  extractor.copyDetectedDots(dots, numDots);
  Eigen::Matrix2Xd detectedDots;
  detectedDots.resize(2, numDots);
  for (int i = 0; i < numDots; ++i) {
    detectedDots(0, i) = dots[i](0);
    detectedDots(1, i) = dots[i](1);
  }
  return detectedDots;
}