From: Vadim Pisarevsky Date: Mon, 3 Oct 2011 11:00:28 +0000 (+0000) Subject: fixed multiple warnings on Windows. fixed bug #1368 X-Git-Tag: accepted/2.0/20130307.220821~1767 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=60ebe2003fa05c1a010dcd881c61d16f2118d843;p=profile%2Fivi%2Fopencv.git fixed multiple warnings on Windows. fixed bug #1368 --- diff --git a/modules/contrib/include/opencv2/contrib/hybridtracker.hpp b/modules/contrib/include/opencv2/contrib/hybridtracker.hpp index 77df01e..5bf7844 100644 --- a/modules/contrib/include/opencv2/contrib/hybridtracker.hpp +++ b/modules/contrib/include/opencv2/contrib/hybridtracker.hpp @@ -74,9 +74,7 @@ struct CV_EXPORTS CvMeanShiftTrackerParams { enum { H = 0, HS = 1, HSV = 2 }; CvMeanShiftTrackerParams(int tracking_type = CvMeanShiftTrackerParams::HS, - CvTermCriteria term_crit = CvTermCriteria()) - { - } + CvTermCriteria term_crit = CvTermCriteria()); int tracking_type; vector h_range; @@ -105,9 +103,7 @@ struct CV_EXPORTS CvHybridTrackerParams CvHybridTrackerParams(float ft_tracker_weight = 0.5, float ms_tracker_weight = 0.5, CvFeatureTrackerParams ft_params = CvFeatureTrackerParams(), CvMeanShiftTrackerParams ms_params = CvMeanShiftTrackerParams(), - CvMotionModel model = CvMotionModel()) - { - } + CvMotionModel model = CvMotionModel()); float ft_tracker_weight; float ms_tracker_weight; diff --git a/modules/contrib/src/basicretinafilter.cpp b/modules/contrib/src/basicretinafilter.cpp index 0b2c559..bdf9b4c 100644 --- a/modules/contrib/src/basicretinafilter.cpp +++ b/modules/contrib/src/basicretinafilter.cpp @@ -166,22 +166,22 @@ void BasicRetinaFilter::setLPfilterParameters(const float beta, const float tau, // check if the spatial constant is correct (avoid 0 value to avoid division by 0) if (desired_k<=0) { - k=0.001; + k=0.001f; std::cerr<<"BasicRetinaFilter::spatial constant of the low pass filter must be superior to zero !!! correcting parameter setting to 0,001"< old:"<<(1-_a)*(1-_a)*(1-_a)*(1-_a)/(1+_beta)<match(prev_desc, curr_desc, matches); - for (int i = 0; i < matches.size(); i++) + for (int i = 0; i < (int)matches.size(); i++) { prev_keys.push_back(prev_keypoints[matches[i].queryIdx].pt); curr_keys.push_back(curr_keypoints[matches[i].trainIdx].pt); @@ -132,8 +132,8 @@ Rect CvFeatureTracker::updateTrackingWindowWithSIFT(Mat image) Mat T = findHomography(prev_keys, curr_keys, CV_LMEDS); - prev_trackwindow.x += T.at (0, 2); - prev_trackwindow.y += T.at (1, 2); + prev_trackwindow.x += cvRound(T.at (0, 2)); + prev_trackwindow.y += cvRound(T.at (1, 2)); } prev_center.x = prev_trackwindow.x; @@ -171,7 +171,7 @@ Rect CvFeatureTracker::updateTrackingWindowWithFlow(Mat image) Point2f feature0_center(0, 0); Point2f feature1_center(0, 0); int goodtracks = 0; - for (int i = 0; i < features[1].size(); i++) + for (int i = 0; i < (int)features[1].size(); i++) { if (status[i] == 1) { @@ -213,8 +213,8 @@ Rect CvFeatureTracker::getTrackingWindow() Point2f CvFeatureTracker::getTrackingCenter() { Point2f center(0, 0); - center.x = prev_center.x + prev_trackwindow.width/2.0; - center.y = prev_center.y + prev_trackwindow.height/2.0; + center.x = (float)(prev_center.x + prev_trackwindow.width/2.0); + center.y = (float)(prev_center.y + prev_trackwindow.height/2.0); return center; } diff --git a/modules/contrib/src/hybridtracker.cpp b/modules/contrib/src/hybridtracker.cpp index 010ed1a..1408fac 100644 --- a/modules/contrib/src/hybridtracker.cpp +++ b/modules/contrib/src/hybridtracker.cpp @@ -45,6 +45,23 @@ using namespace cv; using namespace std; +CvHybridTrackerParams::CvHybridTrackerParams(float _ft_tracker_weight, float _ms_tracker_weight, + CvFeatureTrackerParams _ft_params, + CvMeanShiftTrackerParams _ms_params, + CvMotionModel) +{ + ft_tracker_weight = _ft_tracker_weight; + ms_tracker_weight = _ms_tracker_weight; + ft_params = _ft_params; + ms_params = _ms_params; +} + +CvMeanShiftTrackerParams::CvMeanShiftTrackerParams(int _tracking_type, CvTermCriteria _term_crit) +{ + tracking_type = _tracking_type; + term_crit = _term_crit; +} + CvHybridTracker::CvHybridTracker() { } @@ -98,7 +115,7 @@ Mat CvHybridTracker::getGaussianProjection(Mat image, int ksize, double sigma, Mat hist(image.size(), CV_64F); for (int i = 0; i < hist.rows; i++) for (int j = 0; j < hist.cols; j++) { - int pos = getL2Norm(Point(i, j), center); + int pos = cvRound(getL2Norm(Point(i, j), center)); if (pos < ksize / 2.0) hist.at (i, j) = 1.0 - (kernel.at (pos) / max); } @@ -108,8 +125,8 @@ Mat CvHybridTracker::getGaussianProjection(Mat image, int ksize, double sigma, void CvHybridTracker::newTracker(Mat image, Rect selection) { prev_proj = Mat::zeros(image.size(), CV_64FC1); - prev_center = Point2f(selection.x + selection.width / 2.0, selection.y - + selection.height / 2.0); + prev_center = Point2f(selection.x + selection.width / 2.0f, selection.y + + selection.height / 2.0f); prev_window = selection; mstracker->newTrackingWindow(image, selection); @@ -160,10 +177,10 @@ void CvHybridTracker::updateTracker(Mat image) { double total_len = ms_len + ft_len; params.ms_tracker_weight *= (ittr - 1); - params.ms_tracker_weight += (ms_len / total_len); + params.ms_tracker_weight += (float)((ms_len / total_len)); params.ms_tracker_weight /= ittr; params.ft_tracker_weight *= (ittr - 1); - params.ft_tracker_weight += (ft_len / total_len); + params.ft_tracker_weight += (float)((ft_len / total_len)); params.ft_tracker_weight /= ittr; circle(image, prev_center, 3, Scalar(0, 0, 0), -1, 8); @@ -183,7 +200,7 @@ void CvHybridTracker::updateTrackerWithEM(Mat image) { Mat ms_proj = ms_backproj.mul(ms_distproj); float dist_err = getL2Norm(mstracker->getTrackingCenter(), fttracker->getTrackingCenter()); - Mat ft_gaussproj = getGaussianProjection(image, dist_err, -1, fttracker->getTrackingCenter()); + Mat ft_gaussproj = getGaussianProjection(image, cvRound(dist_err), -1, fttracker->getTrackingCenter()); Mat ft_distproj = getDistanceProjection(image, fttracker->getTrackingCenter()); Mat ft_proj = ft_gaussproj.mul(ft_distproj); @@ -215,8 +232,8 @@ void CvHybridTracker::updateTrackerWithLowPassFilter(Mat image) { Point2f ft_center = fttracker->getTrackingCenter(); float a = params.low_pass_gain; - curr_center.x = (1.0 - a) * prev_center.x + a * (params.ms_tracker_weight * ms_track.center.x + params.ft_tracker_weight * ft_center.x); - curr_center.y = (1.0 - a) * prev_center.y + a * (params.ms_tracker_weight * ms_track.center.y + params.ft_tracker_weight * ft_center.y); + curr_center.x = (1 - a) * prev_center.x + a * (params.ms_tracker_weight * ms_track.center.x + params.ft_tracker_weight * ft_center.x); + curr_center.y = (1 - a) * prev_center.y + a * (params.ms_tracker_weight * ms_track.center.y + params.ft_tracker_weight * ft_center.y); } Rect CvHybridTracker::getTrackingWindow() { diff --git a/modules/contrib/src/imagelogpolprojection.cpp b/modules/contrib/src/imagelogpolprojection.cpp index 81f309d..bb9e64c 100644 --- a/modules/contrib/src/imagelogpolprojection.cpp +++ b/modules/contrib/src/imagelogpolprojection.cpp @@ -177,7 +177,7 @@ bool ImageLogPolProjection::_initLogRetinaSampling(const double reductionFactor, #endif // setup progressive prefilter that will be applied BEFORE log sampling - setProgressiveFilterConstants_CentredAccuracy(0.0, 0.0, 0.99); + setProgressiveFilterConstants_CentredAccuracy(0.f, 0.f, 0.99f); // (re)create the image output buffer and transform table if the reduction factor changed _sampledFrame.resize(_outputNBpixels*(1+(unsigned int)_colorModeCapable*2)); @@ -338,7 +338,7 @@ bool ImageLogPolProjection::_initLogPolarCortexSampling(const double reductionFa #endif // setup progressive prefilter that will be applied BEFORE log sampling - setProgressiveFilterConstants_CentredAccuracy(0.0, 0.0, 0.99); + setProgressiveFilterConstants_CentredAccuracy(0.f, 0.f, 0.99f); // (re)create the image output buffer and transform table if the reduction factor changed _sampledFrame.resize(_outputNBpixels*(1+(unsigned int)_colorModeCapable*2)); diff --git a/modules/contrib/src/magnoretinafilter.cpp b/modules/contrib/src/magnoretinafilter.cpp index 98f21d3..8285ef4 100644 --- a/modules/contrib/src/magnoretinafilter.cpp +++ b/modules/contrib/src/magnoretinafilter.cpp @@ -144,7 +144,7 @@ void MagnoRetinaFilter::resize(const unsigned int NBrows, const unsigned int NBc void MagnoRetinaFilter::setCoefficientsTable(const float parasolCells_beta, const float parasolCells_tau, const float parasolCells_k, const float amacrinCellsTemporalCutFrequency, const float localAdaptIntegration_tau, const float localAdaptIntegration_k ) { - _temporalCoefficient=exp(-1.0/amacrinCellsTemporalCutFrequency); + _temporalCoefficient=(float)exp(-1.0/amacrinCellsTemporalCutFrequency); // the first set of parameters is dedicated to the low pass filtering property of the ganglion cells BasicRetinaFilter::setLPfilterParameters(parasolCells_beta, parasolCells_tau, parasolCells_k, 0); // the second set of parameters is dedicated to the ganglion cells output intergartion for their local adaptation property diff --git a/modules/contrib/src/parvoretinafilter.cpp b/modules/contrib/src/parvoretinafilter.cpp index 9224695..82c5c97 100644 --- a/modules/contrib/src/parvoretinafilter.cpp +++ b/modules/contrib/src/parvoretinafilter.cpp @@ -220,7 +220,7 @@ void ParvoRetinaFilter::_OPL_OnOffWaysComputing() // ON and OFF channels writing step *(parvocellularOutputON_PTR++)=*(bipolarCellsON_PTR++) = isPositive*pixelDifference; - *(parvocellularOutputOFF_PTR++)=*(bipolarCellsOFF_PTR++)= (isPositive-1.0)*pixelDifference; + *(parvocellularOutputOFF_PTR++)=*(bipolarCellsOFF_PTR++)= (isPositive-1)*pixelDifference; } } } diff --git a/modules/contrib/src/retina.cpp b/modules/contrib/src/retina.cpp index 31aaf90..5840c28 100644 --- a/modules/contrib/src/retina.cpp +++ b/modules/contrib/src/retina.cpp @@ -299,8 +299,8 @@ void Retina::getMagno(cv::Mat &retinaOutput_magno) } // original API level data accessors -void Retina::getMagno(std::valarray &retinaOutput_magno){_retinaFilter->getMovingContours();} -void Retina::getParvo(std::valarray &retinaOutput_parvo){_retinaFilter->getContours();} +void Retina::getMagno(std::valarray &){_retinaFilter->getMovingContours();} +void Retina::getParvo(std::valarray &){_retinaFilter->getContours();} // private method called by constructirs void Retina::_init(const std::string parametersSaveFile, const cv::Size inputSize, const bool colorMode, RETINA_COLORSAMPLINGMETHOD colorSamplingMethod, const bool useRetinaLogSampling, const double reductionFactor, const double samplingStrenght) diff --git a/modules/contrib/src/retinacolor.cpp b/modules/contrib/src/retinacolor.cpp index ef0d0a5..730e9b8 100644 --- a/modules/contrib/src/retinacolor.cpp +++ b/modules/contrib/src/retinacolor.cpp @@ -77,7 +77,7 @@ namespace cv // init static values static float _LMStoACr1Cr2[]={1.0, 1.0, 0.0, 1.0, -1.0, 0.0, -0.5, -0.5, 1.0}; //static double _ACr1Cr2toLMS[]={0.5, 0.5, 0.0, 0.5, -0.5, 0.0, 0.5, 0.0, 1.0}; -static float _LMStoLab[]={0.5774, 0.5774, 0.5774, 0.4082, 0.4082, -0.8165, 0.7071, -0.7071, 0.0}; +static float _LMStoLab[]={0.5774f, 0.5774f, 0.5774f, 0.4082f, 0.4082f, -0.8165f, 0.7071f, -0.7071f, 0.f}; // constructor/desctructor RetinaColor::RetinaColor(const unsigned int NBrows, const unsigned int NBcolumns, const RETINA_COLORSAMPLINGMETHOD samplingMethod) @@ -103,10 +103,10 @@ RetinaColor::RetinaColor(const unsigned int NBrows, const unsigned int NBcolumns // set default spatio-temporal filter parameters setLPfilterParameters(0.0, 0.0, 1.5); setLPfilterParameters(0.0, 0.0, 10.5, 1);// for the low pass filter dedicated to contours energy extraction (demultiplexing process) - setLPfilterParameters(0.0, 0.0, 0.9, 2); + setLPfilterParameters(0.f, 0.f, 0.9f, 2); // init default value on image Gradient - _imageGradient=0.57; + _imageGradient=0.57f; // init color sampling map _initColorSampling(); @@ -167,7 +167,7 @@ void RetinaColor::_initColorSampling() { // filling the conversion table for multiplexed <=> demultiplexed frame - srand(time(NULL)); + srand((unsigned)time(NULL)); // preInit cones probabilities _pR=_pB=_pG=0; @@ -206,7 +206,7 @@ void RetinaColor::_initColorSampling() { _colorSampling[index] = index+((index%3+(index%_filterOutput.getNBcolumns()))%3)*_filterOutput.getNBpixels(); } - _pR=_pB=_pG=1.0/3.0; + _pR=_pB=_pG=1.f/3; break; case RETINA_COLOR_BAYER: // default sets bayer sampling for (unsigned int index=0 ; index<_filterOutput.getNBpixels(); ++index) @@ -240,7 +240,7 @@ void RetinaColor::_initColorSampling() unsigned int maxNBpixels=3*_filterOutput.getNBpixels(); register float *colorLocalDensityPTR=&_colorLocalDensity[0]; for (unsigned int i=0;imaxValue) maxValue=outputFrame[index]; } } - normalisationFactor=1.0/maxValue; + normalisationFactor=1.f/maxValue; // normalisation [0, 1] - for (unsigned int indexp=1 ; indexp<_filterOutput.getNBrows()-1; ++indexp) - outputFrame[indexp]=outputFrame[indexp]*normalisationFactor; + for (unsigned int indexp=1 ; indexp<_filterOutput.getNBrows()-1; ++indexp) + outputFrame[indexp]=outputFrame[indexp]*normalisationFactor; } ////////////////////////////////////////////////////////// @@ -561,7 +561,7 @@ void RetinaColor::_adaptiveSpatialLPfilter(const float *inputFrame, float *outpu { /**********/ - _gain = (1-0.57)*(1-0.57)*(1-0.06)*(1-0.06); + _gain = (1-0.57f)*(1-0.57f)*(1-0.06f)*(1-0.06f); // launch the serie of 1D directional filters in order to compute the 2D low pass filter _adaptiveHorizontalCausalFilter_addInput(inputFrame, outputFrame, 0, _filterOutput.getNBrows()); @@ -669,19 +669,19 @@ void RetinaColor::_computeGradient(const float *luminance) const float verticalGrad_n=fabs(luminance[pixelIndex+2*_filterOutput.getNBcolumns()]-luminance[pixelIndex]); const float horizontalGrad_n=fabs(luminance[pixelIndex+2]-luminance[pixelIndex]); - const float horizontalGradient=0.5*horizontalGrad+0.25*(horizontalGrad_p+horizontalGrad_n); - const float verticalGradient=0.5*verticalGrad+0.25*(verticalGrad_p+verticalGrad_n); + const float horizontalGradient=0.5f*horizontalGrad+0.25f*(horizontalGrad_p+horizontalGrad_n); + const float verticalGradient=0.5f*verticalGrad+0.25f*(verticalGrad_p+verticalGrad_n); // compare local gradient means and fill the appropriate filtering coefficient value that will be used in adaptative filters if (horizontalGradientsetV0CompressionParameter(0.6, maxInputValue, meanValue); // keeps log compression sensitivity parameter (usefull for the tone mapping function) _ParvoRetinaFilter.setOPLandParvoFiltersParameters(0,OPLtemporalresponse1, OPLspatialResponse1, OPLassymetryGain, OPLtemporalresponse2, OPLspatialResponse2); - _ParvoRetinaFilter.setV0CompressionParameter(0.9, maxInputValue, meanValue); - _MagnoRetinaFilter.setCoefficientsTable(LPfilterGain, LPfilterTemporalresponse, LPfilterSpatialResponse, MovingContoursExtractorCoefficient, 0, 2.0*LPfilterSpatialResponse); - _MagnoRetinaFilter.setV0CompressionParameter(0.7, maxInputValue, meanValue); + _ParvoRetinaFilter.setV0CompressionParameter(0.9f, maxInputValue, meanValue); + _MagnoRetinaFilter.setCoefficientsTable(LPfilterGain, LPfilterTemporalresponse, LPfilterSpatialResponse, MovingContoursExtractorCoefficient, 0, 2*LPfilterSpatialResponse); + _MagnoRetinaFilter.setV0CompressionParameter(0.7f, maxInputValue, meanValue); // stability controls value init _setInitPeriodCount(); diff --git a/modules/contrib/src/retinafilter.hpp b/modules/contrib/src/retinafilter.hpp index 7899d41..1f22c6e 100644 --- a/modules/contrib/src/retinafilter.hpp +++ b/modules/contrib/src/retinafilter.hpp @@ -221,7 +221,7 @@ public: * setup the local luminance adaptation capability * @param V0CompressionParameter: the compression strengh of the photoreceptors local adaptation output, set a value between 160 and 250 for best results, a high value increases more the low value sensitivity... and the output saturates faster, recommended value: 160 */ - inline void setPhotoreceptorsLocalAdaptationSensitivity(const float V0CompressionParameter){_photoreceptorsPrefilter.setV0CompressionParameter(1.0-V0CompressionParameter);_setInitPeriodCount();}; + inline void setPhotoreceptorsLocalAdaptationSensitivity(const float V0CompressionParameter){_photoreceptorsPrefilter.setV0CompressionParameter(1-V0CompressionParameter);_setInitPeriodCount();}; /** * setup the local luminance adaptation capability @@ -457,7 +457,12 @@ public: * @param projectedRadiusLength: the distance to image center in the retina log sampled space * @return the distance to image center in the input image space */ - inline const float getRetinaSamplingBackProjection(const float projectedRadiusLength){if (_photoreceptorsLogSampling)return _photoreceptorsLogSampling->getOriginalRadiusLength(projectedRadiusLength);else return projectedRadiusLength;}; + inline const float getRetinaSamplingBackProjection(const float projectedRadiusLength) + { + if (_photoreceptorsLogSampling) + return (float)_photoreceptorsLogSampling->getOriginalRadiusLength(projectedRadiusLength); + return projectedRadiusLength; + }; /////////////////: // retina dimensions getters diff --git a/modules/contrib/src/templatebuffer.hpp b/modules/contrib/src/templatebuffer.hpp index 14bcea9..bfb239b 100644 --- a/modules/contrib/src/templatebuffer.hpp +++ b/modules/contrib/src/templatebuffer.hpp @@ -405,7 +405,7 @@ void TemplateBuffer::normalizeGrayOutput_0_maxOutputValue(type *inputOutpu // change the range of the data to 0->255 type factor = maxOutputValue/(maxValue-minValue); - type offset = -1.0*minValue*factor; + type offset = (type)(-minValue*factor); inputOutputBufferPTR=inputOutputBuffer; for (register size_t j = 0; j < processedPixels; ++j, ++inputOutputBufferPTR) diff --git a/modules/core/include/opencv2/core/operations.hpp b/modules/core/include/opencv2/core/operations.hpp index fac1cf6..f089326 100644 --- a/modules/core/include/opencv2/core/operations.hpp +++ b/modules/core/include/opencv2/core/operations.hpp @@ -73,8 +73,12 @@ #endif #elif defined WIN32 || defined _WIN32 - #include - #define CV_XADD(addr,delta) _InterlockedExchangeAdd((long volatile*)(addr), (delta)) + #define WIN32_MEAN_AND_LEAN + #include + #undef min + #undef max + #undef abs + #define CV_XADD(addr,delta) InterlockedExchangeAdd((long volatile*)(addr), (delta)) #else template static inline _Tp CV_XADD(_Tp* addr, _Tp delta) diff --git a/modules/flann/include/opencv2/flann/lsh_table.h b/modules/flann/include/opencv2/flann/lsh_table.h index f52d5bd..a245160 100644 --- a/modules/flann/include/opencv2/flann/lsh_table.h +++ b/modules/flann/include/opencv2/flann/lsh_table.h @@ -95,7 +95,7 @@ struct LshStats */ inline std::ostream& operator <<(std::ostream& out, const LshStats& stats) { - size_t w = 20; + int w = 20; out << "Lsh Table Stats:\n" << std::setw(w) << std::setiosflags(std::ios::right) << "N buckets : " << stats.n_buckets_ << "\n" << std::setw(w) << std::setiosflags(std::ios::right) << "mean size : " << std::setiosflags(std::ios::left) << stats.bucket_size_mean_ << "\n" << std::setw(w) @@ -257,7 +257,7 @@ private: void initialize(size_t key_size) { speed_level_ = kHash; - key_size_ = key_size; + key_size_ = (unsigned)key_size; } /** Optimize the table for speed/space diff --git a/modules/gpu/perf/perf_arithm.cpp b/modules/gpu/perf/perf_arithm.cpp index 21e3f32..75a2bf8 100644 --- a/modules/gpu/perf/perf_arithm.cpp +++ b/modules/gpu/perf/perf_arithm.cpp @@ -673,7 +673,7 @@ PERF_TEST_P(DevInfo_Size_MatType, countNonZero, testing::Combine(testing::Values declare.in(src_host, WARMUP_RNG); GpuMat src(src_host); - int dst; + int dst=0; GpuMat buf; declare.time(0.5).iterations(100); diff --git a/samples/cpp/OpenEXRimages_HighDynamicRange_Retina_toneMapping.cpp b/samples/cpp/OpenEXRimages_HighDynamicRange_Retina_toneMapping.cpp index 5402e35..3307fe4 100644 --- a/samples/cpp/OpenEXRimages_HighDynamicRange_Retina_toneMapping.cpp +++ b/samples/cpp/OpenEXRimages_HighDynamicRange_Retina_toneMapping.cpp @@ -122,7 +122,7 @@ void drawPlot(const cv::Mat curve, const std::string figureTitle, const int lowe void callBack_rescaleGrayLevelMat(int, void*) { std::cout<<"Histogram clipping value changed, current value = "<setupOPLandIPLParvoChannel(true, true, (double)localAdaptation_photoreceptors/200.0, 0.5, 0.43, (double)retinaHcellsGain, 1.0, 7.0, (double)localAdaptation_Gcells/200.0); + retina->setupOPLandIPLParvoChannel(true, true, (float)(localAdaptation_photoreceptors/200.0), 0.5f, 0.43f, (double)retinaHcellsGain, 1.f, 7.f, (float)(localAdaptation_Gcells/200.0)); } int colorSaturationFactor; void callback_saturateColors(int, void*) { - retina->setColorSaturation((double)colorSaturationFactor/10.0); + retina->setColorSaturation(true, colorSaturationFactor/10.0f); } int main(int argc, char* argv[]) { @@ -244,7 +244,7 @@ void drawPlot(const cv::Mat curve, const std::string figureTitle, const int lowe ///////////////////////////////////////////// // apply default parameters of user interaction variables rescaleGrayLevelMat(inputImage, imageInputRescaled, (float)histogramClippingValue/100); - retina->setColorSaturation(true,colorSaturationFactor); + retina->setColorSaturation(true,(float)colorSaturationFactor); callBack_updateRetinaParams(1,NULL); // first call for default parameters setup // processing loop with stop condition