From 0bc13493351f8e87ffbc31df80fb72e12142f267 Mon Sep 17 00:00:00 2001 From: Ilya Lysenkov Date: Tue, 21 Dec 2010 12:11:28 +0000 Subject: [PATCH] Fixed some warnings under Windows --- modules/calib3d/src/blobdetector.cpp | 8 ++++---- modules/calib3d/src/calibinit.cpp | 8 ++++---- modules/calib3d/src/circlesgrid.cpp | 15 +++++++-------- modules/calib3d/src/circlesgrid.hpp | 4 ++-- 4 files changed, 17 insertions(+), 18 deletions(-) diff --git a/modules/calib3d/src/blobdetector.cpp b/modules/calib3d/src/blobdetector.cpp index 4fca3fd4b6..e2edc481b3 100644 --- a/modules/calib3d/src/blobdetector.cpp +++ b/modules/calib3d/src/blobdetector.cpp @@ -64,14 +64,14 @@ BlobDetectorParameters::BlobDetectorParameters() filterByInertia = true; //minInertiaRatio = 0.6; - minInertiaRatio = 0.1; + minInertiaRatio = 0.1f; filterByConvexity = true; //minConvexity = 0.8; - minConvexity = 0.95; + minConvexity = 0.95f; filterByCircularity = false; - minCircularity = 0.8; + minCircularity = 0.8f; } BlobDetector::BlobDetector(const BlobDetectorParameters ¶meters) : @@ -195,7 +195,7 @@ void BlobDetector::findBlobs(const cv::Mat &image, const cv::Mat &binaryImage, v if (params.filterByColor) { - if (binaryImage.at (center.location.y, center.location.x) == 255) + if (binaryImage.at (cvRound(center.location.y), cvRound(center.location.x)) == 255) continue; } diff --git a/modules/calib3d/src/calibinit.cpp b/modules/calib3d/src/calibinit.cpp index b2fa404251..2db1ad0617 100644 --- a/modules/calib3d/src/calibinit.cpp +++ b/modules/calib3d/src/calibinit.cpp @@ -1936,7 +1936,7 @@ void drawChessboardCorners( Mat& image, Size patternSize, } bool findCirclesGrid( const Mat& image, Size patternSize, - vector& centers, int flags ) + vector& centers, int ) { Ptr detector = new BlobDetector(); //Ptr detector = new MserFeatureDetector(); @@ -1944,11 +1944,11 @@ bool findCirclesGrid( const Mat& image, Size patternSize, detector->detect(image, keypoints); CirclesGridFinderParameters parameters; - parameters.vertexPenalty = -0.6; + parameters.vertexPenalty = -0.6f; parameters.vertexGain = 1; parameters.existingVertexGain = 10000; parameters.edgeGain = 1; - parameters.edgePenalty = -0.6; + parameters.edgePenalty = -0.6f; const int attempts = 2; const int minHomographyPoints = 4; @@ -1962,7 +1962,7 @@ bool findCirclesGrid( const Mat& image, Size patternSize, { isFound = boxFinder.findHoles(); } - catch (cv::Exception &e) + catch (cv::Exception) { } diff --git a/modules/calib3d/src/circlesgrid.cpp b/modules/calib3d/src/circlesgrid.cpp index 5f9c0a7e32..fc35bdc8d2 100644 --- a/modules/calib3d/src/circlesgrid.cpp +++ b/modules/calib3d/src/circlesgrid.cpp @@ -142,7 +142,7 @@ CirclesGridFinderParameters::CirclesGridFinderParameters() densityNeighborhoodSize = Size2f(16, 16); minDistanceToAddKeypoint = 20; kmeansAttempts = 100; - convexHullFactor = 1.1; + convexHullFactor = 1.1f; keypointScale = 1; minGraphConfidence = 9; @@ -258,7 +258,6 @@ Mat CirclesGridFinder::rectifyGrid(Size detectedGridSize, const vector& assert( !centers.empty() ); const float edgeLength = 30; const Point2f offset(150, 150); - const int keypointScale = 1; vector dstPoints; for (int i = 0; i < detectedGridSize.height; i++) @@ -296,10 +295,10 @@ Mat CirclesGridFinder::rectifyGrid(Size detectedGridSize, const vector& int CirclesGridFinder::findNearestKeypoint(Point2f pt) const { int bestIdx = -1; - float minDist = std::numeric_limits::max(); + double minDist = std::numeric_limits::max(); for (size_t i = 0; i < keypoints.size(); i++) { - float dist = norm(pt - keypoints[i]); + double dist = norm(pt - keypoints[i]); if (dist < minDist) { minDist = dist; @@ -621,7 +620,7 @@ void CirclesGridFinder::computeEdgeVectorsOfRNG(vector &vectors, Mat *d continue; Point2f vec = keypoints[i] - keypoints[j]; - float dist = norm(vec); + double dist = norm(vec); bool isNeighbors = true; for (size_t k = 0; k < keypoints.size(); k++) @@ -629,8 +628,8 @@ void CirclesGridFinder::computeEdgeVectorsOfRNG(vector &vectors, Mat *d if (k == i || k == j) continue; - float dist1 = norm(keypoints[i] - keypoints[k]); - float dist2 = norm(keypoints[j] - keypoints[k]); + double dist1 = norm(keypoints[i] - keypoints[k]); + double dist2 = norm(keypoints[j] - keypoints[k]); if (dist1 < dist && dist2 < dist) { isNeighbors = false; @@ -714,7 +713,7 @@ size_t CirclesGridFinder::findLongestPath(vector &basisGraphs, Path &best } if (longestPaths.empty() || (maxVal == longestPaths[0].length && graphIdx == bestGraphIdx)) { - Path path = Path(maxLoc.x, maxLoc.y, maxVal); + Path path = Path(maxLoc.x, maxLoc.y, cvRound(maxVal)); computeShortestPath(predecessorMatrix, maxLoc.x, maxLoc.y, path.vertices); longestPaths.push_back(path); diff --git a/modules/calib3d/src/circlesgrid.hpp b/modules/calib3d/src/circlesgrid.hpp index bfe415cca1..b889fb26cb 100644 --- a/modules/calib3d/src/circlesgrid.hpp +++ b/modules/calib3d/src/circlesgrid.hpp @@ -97,10 +97,10 @@ struct CirclesGridFinderParameters int kmeansAttempts; int minDistanceToAddKeypoint; int keypointScale; - int minGraphConfidence; + float minGraphConfidence; float vertexGain; float vertexPenalty; - int existingVertexGain; + float existingVertexGain; float edgeGain; float edgePenalty; float convexHullFactor;