From 1efabe35bd50f3cdd64d031be0390a282940b431 Mon Sep 17 00:00:00 2001 From: Matt Hill Date: Fri, 17 Jun 2016 10:12:07 -0400 Subject: [PATCH] math function code fixes for Windows compatibility --- src/openalpr/edges/edgefinder.cpp | 3 ++- src/statedetection/line_segment.cpp | 8 ++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/openalpr/edges/edgefinder.cpp b/src/openalpr/edges/edgefinder.cpp index bbe8dd7..55413f9 100644 --- a/src/openalpr/edges/edgefinder.cpp +++ b/src/openalpr/edges/edgefinder.cpp @@ -19,6 +19,7 @@ #include "edgefinder.h" #include "textlinecollection.h" +#include "support/timing.h" using namespace std; using namespace cv; @@ -325,7 +326,7 @@ namespace alpr { for (unsigned int x = 0; x < crop.cols; x += stride) { - contrast += pow( ((crop.at(y,x) / 255.0) - avg_intensity), 2.0f); + contrast += pow( ((crop.at(y,x) / 255.0) - avg_intensity), 2.0); } } contrast /= ((float) rows) * ((float)cols); diff --git a/src/statedetection/line_segment.cpp b/src/statedetection/line_segment.cpp index 68ee97d..030674b 100644 --- a/src/statedetection/line_segment.cpp +++ b/src/statedetection/line_segment.cpp @@ -124,6 +124,10 @@ Point LineSegment::midpoint() return Point(midX, midY); } +int round_int(double r) { + return (r > 0.0) ? (r + 0.5) : (r - 0.5); +} + LineSegment LineSegment::getParallelLine(float distance) { float diff_x = p2.x - p1.x; @@ -132,8 +136,8 @@ LineSegment LineSegment::getParallelLine(float distance) float dist_x = distance * cos(angle); float dist_y = -distance * sin(angle); - int offsetX = (int)round(dist_x); - int offsetY = (int)round(dist_y); + int offsetX = (int)round_int(dist_x); + int offsetY = (int)round_int(dist_y); LineSegment result(p1.x + offsetX, p1.y + offsetY, p2.x + offsetX, p2.y + offsetY);