From 0de0ba7bbcdfd3fc807fa2068f2b176a4ead5941 Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Sun, 1 Oct 2017 10:48:41 +0000 Subject: [PATCH] build: fix MSVS2017 warning --- modules/datasets/samples/tr_icdar_benchmark.cpp | 14 ++++++++++---- modules/datasets/samples/tr_svt_benchmark.cpp | 8 +++++++- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/modules/datasets/samples/tr_icdar_benchmark.cpp b/modules/datasets/samples/tr_icdar_benchmark.cpp index 45dec33a1..a8db5335d 100644 --- a/modules/datasets/samples/tr_icdar_benchmark.cpp +++ b/modules/datasets/samples/tr_icdar_benchmark.cpp @@ -133,6 +133,12 @@ void er_draw(vector &channels, vector > ®ions, vectorint +static char char_toupper(char ch) +{ + return (char)std::toupper((int)ch); +} + int main(int argc, char *argv[]) { const char *keys = @@ -200,7 +206,7 @@ int main(int argc, char *argv[]) for (size_t w=0; wwords.size(); w++) { string w_upper = example->words[w].value; - transform(w_upper.begin(), w_upper.end(), w_upper.begin(), ::toupper); + transform(w_upper.begin(), w_upper.end(), w_upper.begin(), char_toupper); if ((find (lex->begin(), lex->end(), w_upper) == lex->end()) && (is_word_spotting) && (selected_lex != 0)) example->words[w].value = "###"; @@ -297,7 +303,7 @@ int main(int argc, char *argv[]) continue; } - std::transform(words[j].begin(), words[j].end(), words[j].begin(), ::toupper); + std::transform(words[j].begin(), words[j].end(), words[j].begin(), char_toupper); /* Increase confidence of predicted words matching a word in the lexicon */ if (lex->size() > 0) @@ -413,7 +419,7 @@ int main(int argc, char *argv[]) } } - std::transform(t.value.begin(), t.value.end(), t.value.begin(), ::toupper); + std::transform(t.value.begin(), t.value.end(), t.value.begin(), char_toupper); if (((t.value==final_words[j]) || (alnum_value==final_words[j])) && !(final_boxes[j].tl().x > t.x+t.width || final_boxes[j].br().x < t.x || final_boxes[j].tl().y > t.y+t.height || final_boxes[j].br().y < t.y)) @@ -430,7 +436,7 @@ int main(int argc, char *argv[]) for (vector::iterator it=example->words.begin(); it!=example->words.end(); ++it) { word &t = (*it); - std::transform(t.value.begin(), t.value.end(), t.value.begin(), ::toupper); + std::transform(t.value.begin(), t.value.end(), t.value.begin(), char_toupper); if ((t.value == "###") && !(final_boxes[j].tl().x > t.x+t.width || final_boxes[j].br().x < t.x || final_boxes[j].tl().y > t.y+t.height || final_boxes[j].br().y < t.y)) diff --git a/modules/datasets/samples/tr_svt_benchmark.cpp b/modules/datasets/samples/tr_svt_benchmark.cpp index 4c7b2d1b0..2f93c845d 100644 --- a/modules/datasets/samples/tr_svt_benchmark.cpp +++ b/modules/datasets/samples/tr_svt_benchmark.cpp @@ -133,6 +133,12 @@ void er_draw(vector &channels, vector > ®ions, vectorint +static char char_toupper(char ch) +{ + return (char)std::toupper((int)ch); +} + int main(int argc, char *argv[]) { const char *keys = @@ -244,7 +250,7 @@ int main(int argc, char *argv[]) continue; } - std::transform(words[j].begin(), words[j].end(), words[j].begin(), ::toupper); + std::transform(words[j].begin(), words[j].end(), words[j].begin(), char_toupper); if (find(example->lex.begin(), example->lex.end(), words[j]) == example->lex.end()) {