in IsometricPatternMatcher/PatternMatcherIsometric.cpp [56:76]
Eigen::VectorXd PatternMatcherIsometric::GetIntensity(
const Eigen::Matrix2Xd& detectedDots, const Image<uint8_t>& imageU8) const {
Eigen::VectorXd intensity;
intensity.resize(detectedDots.cols());
for (int i = 0; i < detectedDots.cols(); ++i) {
double max = 0;
for (int r = -opts_.intensityWindowSize / 2;
r <= opts_.intensityWindowSize / 2; ++r) {
for (int c = -opts_.intensityWindowSize / 2;
c <= opts_.intensityWindowSize / 2; ++c) {
const auto* r0 = imageU8.RowPtr((int)detectedDots(1, i) + r) +
(int)detectedDots(0, i) + c;
if (*r0 > max) {
max = *r0;
}
}
}
intensity(i) = max;
}
return intensity;
}