summaryrefslogtreecommitdiffhomepage
path: root/tracker-pt/point_extractor.cpp
AgeCommit message (Collapse)Author
2017-10-13compat/macros: fix "restrict" name clashStanislaw Halik
2017-10-10tracker/pt: comment typoStanislaw Halik
2017-10-08tracker/pt: grayscale methods workStanislaw Halik
- fix a braino (don't divide by two) - default to exact averaging, not perceptual weighted - use more specific cv::addWeighted
2017-09-23tracker/pt: fix brainoStanislaw Halik
Don't multiply red channel by 3 in 0->1 range.
2017-09-22tracker/pt: add color extraction modesStanislaw Halik
2017-07-29tracker/pt: revert most 2.3.8 changesStanislaw Halik
Remove contour usage. They're less precise than flood fill. Keep sensible changes.
2017-07-26tracker/pt: scale min/max radius with resolutionStanislaw Halik
For 320x240 frames auto threshold min value of 2.5 was too big. Scale it linearly with frame size.
2017-07-25tracker/pt: fix overlayStanislaw Halik
The "fract_bits" constant wasn't used consistently in the 2nd cv::circle invocation. Drop the invocation.
2017-07-25tracker/pt: fix weight formulaStanislaw Halik
2017-07-25tracker/pt: compute blob weightStanislaw Halik
The formula is total brightness over sqrt(radius).
2017-07-20tracker/pt: fix build on LinuxStanislaw Halik
GNU expects ODR for `int' constexpr members.
2017-07-16compat/math-imports: use itStanislaw Halik
2017-07-07Unsigned cast reformatattila-csipa
2017-06-30tracker/pt: reformat lightlyStanislaw Halik
2017-06-22tracker/pt: replace point extraction algorithmStanislaw Halik
Profiling over a longer time period showed a bottleneck while iterating pixels with `cv::floodFill()'. Contours are actually faster, and we have MeanShift to establish the proper center basing on pixel intensities.
2017-06-19tracker/{aruco,pt}: convert camera image with BGR weightsStanislaw Halik
We were using the wrong weights for all the years. Fuck me.
2017-06-18tracker/pt: tweak meanshift cpu usageStanislaw Halik
2017-06-12tracker/pt: cleanupStanislaw Halik
Also, changing "f" typedef to "float" won't break the build anymore.
2017-06-12tracker/pt: fix LED radius offsetStanislaw Halik
2017-06-11tracker/pt: show detected blobs as circlesStanislaw Halik
2017-04-18many: use std::f{max,min} for floating-point valuesStanislaw Halik
2017-04-18tracker/pt: revert extractor changeStanislaw Halik
2017-04-18tracker/pt: replace original blob center search with meanshiftStanislaw Halik
The functions are almost identical so why not. I removed several bits: - weighting by squared pixel value is bad. weight by pixel value instead. - making the ROI twice as big doesn't make sense and makes for misdetected blobs. remove it. - switch radius coefficient to something doing less iterations. - sprinkle some __restrict pointer qualifier. - cv::floodfill invocation had some hardcoded flag value. - point radius circle and the bullseye line length weren't adjusted by scaling ratio. while the circle fitted the radius tightly, it was now clutter, so I removed it, leaving only the properly-scaled bullseye. - brightness had to go sadly since it's not accumulated anymore.
2017-03-03tracker/pt: show average point radius on the displayopentrack-2.3.1_fix3Stanislaw Halik
Helps with choosing automatic threshold slider position.
2017-02-21tracker/pt: change meanshift kernel size coefficientStanislaw Halik
From my usage the value of 1.5 is excessively conservative.
2017-02-21tracker/pt: resize the camera feed, not the previewStanislaw Halik
This makes the point size text and point crosses not alias due to the resize. Due to nice pixel coordinate system, the cross-drawing lambda only needs minimal changes.
2016-12-16tracker/pt: refactor camera info handlingStanislaw Halik
- Pass `struct CamInfo' rather than several elements separately - Reformat - Return `struct CamInfo' together with the frame since then it's always valid - Move the focal length formula into `struct CamInfo' - Remove incorrect focal length formula rather than #if 0 - Pass some stuff by reference and not by pointer
2016-12-10tracker/pt: make overlay look more of the same on 320x240 as 640x480Stanislaw Halik
2016-12-09tracker/pt: show right overlay wrt frame sizeStanislaw Halik
2016-12-09tracker/pt: use the right delta for iteration stopStanislaw Halik
2016-12-09tracker/pt: inline meanshift eval funStanislaw Halik
2016-12-09tracker/pt: improved precision and noise rejection by mean shift filteringDaMichel
2016-11-12tracker/pt: refactorStanislaw Halik
- separate .{cpp,hpp} for few classes - don't include namespaces globally; harmless but looks bad anyway - class with all public members to struct
2016-10-11tracker/pt: fix brain fart in extractorStanislaw Halik
It's multiplied by 3 just a few lines below. So ~2 is actually a good lower bound.
2016-10-11tracker/pt: increase min point radius to sensible valueStanislaw Halik
We can't possibly have LEDs smaller than (6/3=2) each. Especially not (2.5/6).
2016-10-10tracker/pt: get rid of heap allocationStanislaw Halik
Use stack arrays rather than vectors. std::array may be a better choice though.
2016-09-28tracker/pt: don't check for blob limit pointlesslyStanislaw Halik
It's branch predicted anyway, but for clarity.
2016-09-25tracker/pt: square the center weightStanislaw Halik
Follow original implementation.
2016-09-21tracker/pt: fix area/radius confusion in extractorStanislaw Halik
2016-09-21tracker/pt: fix harmless fencepost errorStanislaw Halik
2016-09-21many: remove compat/pi-constant.hppStanislaw Halik
With -D_USE_MATH_DEFINES MSVC defines the standard M_PI and friends. Since this preprocessor definition is now always passed as part of the build system for MSVC. We can use M_PI as if on a mission.
2016-09-16tracker/pt: get rid of pt_types classStanislaw Halik
2016-08-28tracker/pt: merge 2 variables used exactly the same wayStanislaw Halik
2016-08-12all: rename modules s#^opentrack-##. and opentrack -> apiStanislaw Halik
Adjust usages.
2016-07-31tracker/{pt,aruco}: don't include opencv highgui, videoio is enoughStanislaw Halik
2016-07-25tracker/pt: drop signed/unsigned warningStanislaw Halik
2016-07-20tracker/pt: change brightness formulaStanislaw Halik
Use square root of area. Otherwise very small bright points are unfairly used.
2016-07-20tracker/pt: adjust min/max radius for auto thresholdStanislaw Halik
2016-07-20tracker/pt: fix wrong input to flood fillStanislaw Halik
The binary frame needs to be used, not grayscale. v2: Use brightness for sorting points.
2016-07-19tracker/pt: reduce lockingStanislaw Halik