A median filter for floating point values
MedianFilter.cpp@5:9083665c67d8, 2016-10-10 (annotated)
- Committer:
- Generic
- Date:
- Mon Oct 10 06:27:16 2016 +0000
- Revision:
- 5:9083665c67d8
- Parent:
- 3:ec86928ff12d
?;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Kerneels Bezuidenhout |
1:7e434a01533c | 1 | #include "MedianFilter.hpp" |
Kerneels Bezuidenhout |
1:7e434a01533c | 2 | |
Kerneels Bezuidenhout |
1:7e434a01533c | 3 | MedianFilter::MedianFilter(int size) |
Kerneels Bezuidenhout |
1:7e434a01533c | 4 | { |
Generic | 3:ec86928ff12d | 5 | _size = size; |
Kerneels Bezuidenhout |
2:269c66e647f8 | 6 | |
Generic | 3:ec86928ff12d | 7 | for( float i = 0; i < _size; i++) |
Kerneels Bezuidenhout |
2:269c66e647f8 | 8 | _window.push_back(i); |
Kerneels Bezuidenhout |
1:7e434a01533c | 9 | } |
Kerneels Bezuidenhout |
1:7e434a01533c | 10 | |
Kerneels Bezuidenhout |
1:7e434a01533c | 11 | float MedianFilter::Process(float val) |
Kerneels Bezuidenhout |
1:7e434a01533c | 12 | { |
Kerneels Bezuidenhout |
2:269c66e647f8 | 13 | _window.pop_front(); |
Kerneels Bezuidenhout |
2:269c66e647f8 | 14 | _window.push_back(val); |
Kerneels Bezuidenhout |
1:7e434a01533c | 15 | |
Kerneels Bezuidenhout |
1:7e434a01533c | 16 | deque<float> _temp(_window); |
Kerneels Bezuidenhout |
1:7e434a01533c | 17 | |
Generic | 3:ec86928ff12d | 18 | sort(_temp.begin(), _temp.end()); |
Kerneels Bezuidenhout |
1:7e434a01533c | 19 | |
Generic | 3:ec86928ff12d | 20 | return _temp[_size/2]; |
Kerneels Bezuidenhout |
1:7e434a01533c | 21 | } |