Fix x64 build warnings

This commit is contained in:
Andrey Kamaev
2013-02-25 11:08:27 +04:00
parent 2a6fb2867e
commit d586f4a103
10 changed files with 35 additions and 29 deletions

View File

@@ -52,6 +52,7 @@ namespace cv { namespace softcascade { namespace internal
struct Random
{
typedef std::mt19937 engine;
typedef engine::result_type seed_type;
typedef std::uniform_int<int> uniform;
};
@@ -67,6 +68,7 @@ namespace cv { namespace softcascade { namespace internal
struct Random
{
typedef std::mt19937 engine;
typedef engine::result_type seed_type;
// True if we're using C++11.
#if __cplusplus >= 201103L
// C++11 removes uniform_int.
@@ -86,6 +88,7 @@ namespace cv { namespace softcascade { namespace internal
struct Random
{
typedef std::tr1::mt19937 engine;
typedef engine::result_type seed_type;
typedef std::tr1::uniform_int<int> uniform;
};
@@ -125,6 +128,7 @@ private:
struct Random
{
typedef rnd::engine engine;
typedef uint64 seed_type;
typedef rnd::uniform_int<int> uniform;
};

View File

@@ -217,7 +217,7 @@ void ChannelFeaturePool::fill(int desired)
int nfeatures = std::min(desired, maxPoolSize);
pool.reserve(nfeatures);
Random::engine eng(FEATURE_RECT_SEED);
Random::engine eng((Random::seed_type)FEATURE_RECT_SEED);
Random::engine eng_ch(DCHANNELS_SEED);
Random::uniform chRand(0, N_CHANNELS - 1);

View File

@@ -116,7 +116,7 @@ BoostedSoftCascadeOctave::BoostedSoftCascadeOctave(cv::Rect bb, int np, int nn,
_params.truncate_pruned_tree = false;
_params.use_surrogates = false;
_params.use_1se_rule = false;
_params.regression_accuracy = 1.0e-6;
_params.regression_accuracy = 1.0e-6f;
// boost params
_params.boost_type = CvBoost::GENTLE;
@@ -221,7 +221,7 @@ void BoostedSoftCascadeOctave::generateNegatives(const Dataset* dataset)
using namespace cv::softcascade::internal;
// ToDo: set seed, use offsets
Random::engine eng(DX_DY_SEED);
Random::engine idxEng(INDEX_ENGINE_SEED);
Random::engine idxEng((Random::seed_type)INDEX_ENGINE_SEED);
int h = boundingBox.height;

View File

@@ -180,7 +180,7 @@ struct ChannelStorage
cv::Mat hog;
int shrinkage;
int offset;
int step;
size_t step;
int model_height;
cv::Ptr<ChannelFeatureBuilder> builder;
@@ -398,7 +398,7 @@ struct Detector::Fields
fns = (*st)[SC_INTERNAL];
FileNodeIterator inIt = fns.begin(), inIt_end = fns.end();
for (; inIt != inIt_end;)
nodes.push_back(Node(features.size(), inIt));
nodes.push_back(Node((int)features.size(), inIt));
fns = (*st)[SC_LEAF];
inIt = fns.begin(), inIt_end = fns.end();
@@ -504,7 +504,7 @@ void Detector::detectNoRoi(const cv::Mat& image, std::vector<Detection>& objects
{
for (int dx = 0; dx < level.workRect.width; ++dx)
{
storage.offset = dy * storage.step + dx;
storage.offset = (int)(dy * storage.step + dx);
fld.detectAt(dx, dy, level, storage, objects);
}
}
@@ -555,7 +555,7 @@ void Detector::detect(cv::InputArray _image, cv::InputArray _rois, std::vector<D
{
if (m[dx])
{
storage.offset = dy * storage.step + dx;
storage.offset = (int)(dy * storage.step + dx);
fld.detectAt(dx, dy, level, storage, objects);
}
}
@@ -570,11 +570,11 @@ void Detector::detect(InputArray _image, InputArray _rois, OutputArray _rects,
std::vector<Detection> objects;
detect( _image, _rois, objects);
_rects.create(1, objects.size(), CV_32SC4);
_rects.create(1, (int)objects.size(), CV_32SC4);
cv::Mat_<cv::Rect> rects = (cv::Mat_<cv::Rect>)_rects.getMat();
cv::Rect* rectPtr = rects.ptr<cv::Rect>(0);
_confs.create(1, objects.size(), CV_32F);
_confs.create(1, (int)objects.size(), CV_32F);
cv::Mat confs = _confs.getMat();
float* confPtr = confs.ptr<float>(0);