summaryrefslogtreecommitdiffhomepage
path: root/tracker-pt/point_extractor.cpp
AgeCommit message (Collapse)Author
2018-01-16cv/video-frame, tracker/pt: add hidpi preview supportStanislaw Halik
2018-01-12tracker/pt: isolate point extractor and image typeStanislaw Halik
Issue: #718
2018-01-11tracker/pt: allow for reuseStanislaw Halik
Issue: #718 This allows for replacing the camera and point extractor code. See `module.cpp' and `pt-api.hpp`.
2018-01-10tracker/pt: add commentStanislaw Halik
2018-01-03tracker/pt: more accurate dynamic thresholdStanislaw Halik
2017-12-21tracker/pt: default to natural grayscalingStanislaw Halik
It's the most optimized opencv version.
2017-12-02tracker/pt: use cv::Mat::reshape() to avoid memcpyStanislaw Halik
2017-11-02tracker/pt: greatly speedup grayscale conversionStanislaw Halik
2017-10-29tracker/pt: remove dubious grayscaling modesStanislaw Halik
2017-10-27tracker/pt: fine-tune point brightness scoreStanislaw Halik
2017-10-27tracker/pt: simplify point extractorStanislaw Halik
- no need to zero out floodfill areas, by its logic - let meanshift work with rect center as initial point - show extra points in gray
2017-10-22tracker/pt: return focal length directlyStanislaw Halik
2017-10-20tracker/pt: grayscaling modes workStanislaw Halik
2017-10-13tracker/pt, options: fix threshold sliderStanislaw Halik
It's only the tie_setting(slider_value, QSlider) that has race-free slider updates. Needed to update the threshold slider representation. Remove the tie_setting(int, QSlider) overload since it doesn't have the logic. Add a migration. Add base_value::notify() for use-cases like the checkbox updating the label.
2017-10-13tracker/pt: add threshold slider state descriptionStanislaw Halik
Isolate point radius code and reuse it.
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).