Commit 9981b283 authored by Andrey Kamaev's avatar Andrey Kamaev

Fixed build warnings (including error in FAST)

parent fdc48abd
...@@ -67,11 +67,12 @@ StereoVar::~StereoVar() ...@@ -67,11 +67,12 @@ StereoVar::~StereoVar()
static Mat diffX(Mat &src) static Mat diffX(Mat &src)
{ {
register int x, y, cols = src.cols - 1; int cols = src.cols - 1;
Mat dst(src.size(), src.type()); Mat dst(src.size(), src.type());
for(y = 0; y < src.rows; y++){ for(int y = 0; y < src.rows; y++){
const float* pSrc = src.ptr<float>(y); const float* pSrc = src.ptr<float>(y);
float* pDst = dst.ptr<float>(y); float* pDst = dst.ptr<float>(y);
int x = 0;
#if CV_SSE2 #if CV_SSE2
for (x = 0; x <= cols - 8; x += 8) { for (x = 0; x <= cols - 8; x += 8) {
__m128 a0 = _mm_loadu_ps(pSrc + x); __m128 a0 = _mm_loadu_ps(pSrc + x);
......
...@@ -9,16 +9,16 @@ Redistribution and use in source and binary forms, with or without ...@@ -9,16 +9,16 @@ Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions modification, are permitted provided that the following conditions
are met: are met:
*Redistributions of source code must retain the above copyright *Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer. notice, this list of conditions and the following disclaimer.
*Redistributions in binary form must reproduce the above copyright *Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution. documentation and/or other materials provided with the distribution.
*Neither the name of the University of Cambridge nor the names of *Neither the name of the University of Cambridge nor the names of
its contributors may be used to endorse or promote products derived its contributors may be used to endorse or promote products derived
from this software without specific prior written permission. from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
...@@ -350,7 +350,7 @@ int cornerScore<8>(const uchar* ptr, const int pixel[], int threshold) ...@@ -350,7 +350,7 @@ int cornerScore<8>(const uchar* ptr, const int pixel[], int threshold)
} }
int b0 = -a0; int b0 = -a0;
for( k = 0; k < 12; k += 2 ) for( k = 0; k < 8; k += 2 )
{ {
int b = std::max((int)d[k+1], (int)d[k+2]); int b = std::max((int)d[k+1], (int)d[k+2]);
b = std::max(b, (int)d[k+3]); b = std::max(b, (int)d[k+3]);
...@@ -375,7 +375,10 @@ template<int patternSize> ...@@ -375,7 +375,10 @@ template<int patternSize>
void FAST_t(InputArray _img, std::vector<KeyPoint>& keypoints, int threshold, bool nonmax_suppression) void FAST_t(InputArray _img, std::vector<KeyPoint>& keypoints, int threshold, bool nonmax_suppression)
{ {
Mat img = _img.getMat(); Mat img = _img.getMat();
const int K = patternSize/2, N = patternSize + K + 1, quarterPatternSize = patternSize/4; const int K = patternSize/2, N = patternSize + K + 1;
#if CV_SSE2
const int quarterPatternSize = patternSize/4;
#endif
int i, j, k, pixel[25]; int i, j, k, pixel[25];
makeOffsets(pixel, (int)img.step, patternSize); makeOffsets(pixel, (int)img.step, patternSize);
for(k = patternSize; k < 25; k++) for(k = patternSize; k < 25; k++)
...@@ -585,7 +588,7 @@ FastFeatureDetector::FastFeatureDetector( int _threshold, bool _nonmaxSuppressio ...@@ -585,7 +588,7 @@ FastFeatureDetector::FastFeatureDetector( int _threshold, bool _nonmaxSuppressio
FastFeatureDetector::FastFeatureDetector( int _threshold, bool _nonmaxSuppression, int _type ) FastFeatureDetector::FastFeatureDetector( int _threshold, bool _nonmaxSuppression, int _type )
: threshold(_threshold), nonmaxSuppression(_nonmaxSuppression), type(_type) : threshold(_threshold), nonmaxSuppression(_nonmaxSuppression), type(_type)
{} {}
void FastFeatureDetector::detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask ) const void FastFeatureDetector::detectImpl( const Mat& image, vector<KeyPoint>& keypoints, const Mat& mask ) const
{ {
Mat grayImage = image; Mat grayImage = image;
......
...@@ -1298,17 +1298,17 @@ public: ...@@ -1298,17 +1298,17 @@ public:
maxk(_maxk), space_ofs(_space_ofs), space_weight(_space_weight), color_weight(_color_weight) maxk(_maxk), space_ofs(_space_ofs), space_weight(_space_weight), color_weight(_color_weight)
{ {
} }
virtual void operator() (const Range& range) const virtual void operator() (const Range& range) const
{ {
int i, j, cn = dest->channels(), k; int i, j, cn = dest->channels(), k;
Size size = dest->size(); Size size = dest->size();
for( i = range.start; i < range.end; i++ ) for( i = range.start; i < range.end; i++ )
{ {
const uchar* sptr = temp->ptr(i+radius) + radius*cn; const uchar* sptr = temp->ptr(i+radius) + radius*cn;
uchar* dptr = dest->ptr(i); uchar* dptr = dest->ptr(i);
if( cn == 1 ) if( cn == 1 )
{ {
for( j = 0; j < size.width; j++ ) for( j = 0; j < size.width; j++ )
...@@ -1351,10 +1351,10 @@ public: ...@@ -1351,10 +1351,10 @@ public:
} }
} }
} }
private: private:
const Mat *temp;
Mat *dest; Mat *dest;
const Mat *temp;
int radius, maxk, *space_ofs; int radius, maxk, *space_ofs;
float *space_weight, *color_weight; float *space_weight, *color_weight;
}; };
...@@ -1367,40 +1367,40 @@ bilateralFilter_8u( const Mat& src, Mat& dst, int d, ...@@ -1367,40 +1367,40 @@ bilateralFilter_8u( const Mat& src, Mat& dst, int d,
int cn = src.channels(); int cn = src.channels();
int i, j, maxk, radius; int i, j, maxk, radius;
Size size = src.size(); Size size = src.size();
CV_Assert( (src.type() == CV_8UC1 || src.type() == CV_8UC3) && CV_Assert( (src.type() == CV_8UC1 || src.type() == CV_8UC3) &&
src.type() == dst.type() && src.size() == dst.size() && src.type() == dst.type() && src.size() == dst.size() &&
src.data != dst.data ); src.data != dst.data );
if( sigma_color <= 0 ) if( sigma_color <= 0 )
sigma_color = 1; sigma_color = 1;
if( sigma_space <= 0 ) if( sigma_space <= 0 )
sigma_space = 1; sigma_space = 1;
double gauss_color_coeff = -0.5/(sigma_color*sigma_color); double gauss_color_coeff = -0.5/(sigma_color*sigma_color);
double gauss_space_coeff = -0.5/(sigma_space*sigma_space); double gauss_space_coeff = -0.5/(sigma_space*sigma_space);
if( d <= 0 ) if( d <= 0 )
radius = cvRound(sigma_space*1.5); radius = cvRound(sigma_space*1.5);
else else
radius = d/2; radius = d/2;
radius = MAX(radius, 1); radius = MAX(radius, 1);
d = radius*2 + 1; d = radius*2 + 1;
Mat temp; Mat temp;
copyMakeBorder( src, temp, radius, radius, radius, radius, borderType ); copyMakeBorder( src, temp, radius, radius, radius, radius, borderType );
vector<float> _color_weight(cn*256); vector<float> _color_weight(cn*256);
vector<float> _space_weight(d*d); vector<float> _space_weight(d*d);
vector<int> _space_ofs(d*d); vector<int> _space_ofs(d*d);
float* color_weight = &_color_weight[0]; float* color_weight = &_color_weight[0];
float* space_weight = &_space_weight[0]; float* space_weight = &_space_weight[0];
int* space_ofs = &_space_ofs[0]; int* space_ofs = &_space_ofs[0];
// initialize color-related bilateral filter coefficients // initialize color-related bilateral filter coefficients
for( i = 0; i < 256*cn; i++ ) for( i = 0; i < 256*cn; i++ )
color_weight[i] = (float)std::exp(i*i*gauss_color_coeff); color_weight[i] = (float)std::exp(i*i*gauss_color_coeff);
// initialize space-related bilateral filter coefficients // initialize space-related bilateral filter coefficients
for( i = -radius, maxk = 0; i <= radius; i++ ) for( i = -radius, maxk = 0; i <= radius; i++ )
for( j = -radius; j <= radius; j++ ) for( j = -radius; j <= radius; j++ )
...@@ -1411,7 +1411,7 @@ bilateralFilter_8u( const Mat& src, Mat& dst, int d, ...@@ -1411,7 +1411,7 @@ bilateralFilter_8u( const Mat& src, Mat& dst, int d,
space_weight[maxk] = (float)std::exp(r*r*gauss_space_coeff); space_weight[maxk] = (float)std::exp(r*r*gauss_space_coeff);
space_ofs[maxk++] = (int)(i*temp.step + j*cn); space_ofs[maxk++] = (int)(i*temp.step + j*cn);
} }
BilateralFilter_8u_Invoker body(dst, temp, radius, maxk, space_ofs, space_weight, color_weight); BilateralFilter_8u_Invoker body(dst, temp, radius, maxk, space_ofs, space_weight, color_weight);
parallel_for_(Range(0, size.height), body); parallel_for_(Range(0, size.height), body);
} }
......
...@@ -440,8 +440,7 @@ bool BackgroundSubtractorGMG::HistogramFeatureGMG::operator ==(HistogramFeatureG ...@@ -440,8 +440,7 @@ bool BackgroundSubtractorGMG::HistogramFeatureGMG::operator ==(HistogramFeatureG
std::vector<size_t>::iterator color_a; std::vector<size_t>::iterator color_a;
std::vector<size_t>::iterator color_b; std::vector<size_t>::iterator color_b;
std::vector<size_t>::iterator color_a_end = this->color.end(); std::vector<size_t>::iterator color_a_end = this->color.end();
std::vector<size_t>::iterator color_b_end = rhs.color.end(); for (color_a = color.begin(), color_b = rhs.color.begin(); color_a != color_a_end; ++color_a, ++color_b)
for (color_a = color.begin(),color_b =rhs.color.begin();color_a!=color_a_end;++color_a,++color_b)
{ {
if (*color_a != *color_b) if (*color_a != *color_b)
{ {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment