medianFilter 2020Ver
Dependents: Tourobo2022_TBCMotorDriver
MedianFilter.cpp
- Committer:
- YutaTogashi
- Date:
- 2020-03-24
- Revision:
- 1:5942768f10c1
- Parent:
- 0:039669d0faad
File content as of revision 1:5942768f10c1:
#include "MedianFilter.h" MedianFilter::MedianFilter() {} void MedianFilter::sort(void *base,size_t n,size_t size,bool form) { if(form == 0) qsort(base,n,size,MedianFilter::ascending_order); else qsort(base,n,size,MedianFilter::descending_order); } int MedianFilter::getIntValue(int array[],size_t size) { int number = size / 2; if(number % 2) return array[number]; else return (int)(((array[number-1] + array[number]) / 2.0f)); } float MedianFilter::getFloatValue(float array[],size_t size) { int number = size / 2; if(number % 2) return array[number]; else return ((array[number-1] + array[number]) / 2.0f); } int MedianFilter::ascending_order(const void *c1, const void *c2) { int tmp1 = *(int *)c1; int tmp2 = *(int *)c2; if( tmp1 < tmp2 ) return -1; if( tmp1 == tmp2 ) return 0; if( tmp1 > tmp2 ) return 1; return 0; } int MedianFilter::descending_order(const void *c1, const void *c2) { int tmp1 = *(int *)c1; int tmp2 = *(int *)c2; if( tmp1 < tmp2 ) return 1; if( tmp1 == tmp2 ) return 0; if( tmp1 > tmp2 ) return -1; return 0; }