Merge pull request #7691 from LaurentBerger:I7676
authorLaurentBerger <laurent.berger@univ-lemans.fr>
Mon, 21 Nov 2016 01:28:59 +0000 (02:28 +0100)
committerAlexander Alekhin <alexander.a.alekhin@gmail.com>
Mon, 21 Nov 2016 01:28:59 +0000 (04:28 +0300)
* Solve issue 7676

* I7676 bis

samples/cpp/detect_blob.cpp
samples/cpp/detect_mser.cpp

index 9c96706..6abe03b 100644 (file)
@@ -21,14 +21,14 @@ static String Legende(SimpleBlobDetector::Params &pAct)
     String s = "";
     if (pAct.filterByArea)
     {
-        String inf = static_cast<ostringstream*>(&(ostringstream() << pAct.minArea))->str();
-        String sup = static_cast<ostringstream*>(&(ostringstream() << pAct.maxArea))->str();
+        String inf = static_cast<const ostringstream&>(ostringstream() << pAct.minArea).str();
+        String sup = static_cast<const ostringstream&>(ostringstream() << pAct.maxArea).str();
         s = " Area range [" + inf + " to  " + sup + "]";
     }
     if (pAct.filterByCircularity)
     {
-        String inf = static_cast<ostringstream*>(&(ostringstream() << pAct.minCircularity))->str();
-        String sup = static_cast<ostringstream*>(&(ostringstream() << pAct.maxCircularity))->str();
+        String inf = static_cast<const ostringstream&>(ostringstream() << pAct.minCircularity).str();
+        String sup = static_cast<const ostringstream&>(ostringstream() << pAct.maxCircularity).str();
         if (s.length() == 0)
             s = " Circularity range [" + inf + " to  " + sup + "]";
         else
@@ -36,7 +36,7 @@ static String Legende(SimpleBlobDetector::Params &pAct)
     }
     if (pAct.filterByColor)
     {
-        String inf = static_cast<ostringstream*>(&(ostringstream() << (int)pAct.blobColor))->str();
+        String inf = static_cast<const ostringstream&>(ostringstream() << (int)pAct.blobColor).str();
         if (s.length() == 0)
             s = " Blob color " + inf;
         else
@@ -44,8 +44,8 @@ static String Legende(SimpleBlobDetector::Params &pAct)
     }
     if (pAct.filterByConvexity)
     {
-        String inf = static_cast<ostringstream*>(&(ostringstream() << pAct.minConvexity))->str();
-        String sup = static_cast<ostringstream*>(&(ostringstream() << pAct.maxConvexity))->str();
+        String inf = static_cast<const ostringstream&>(ostringstream() << pAct.minConvexity).str();
+        String sup = static_cast<const ostringstream&>(ostringstream() << pAct.maxConvexity).str();
         if (s.length() == 0)
             s = " Convexity range[" + inf + " to  " + sup + "]";
         else
@@ -53,8 +53,8 @@ static String Legende(SimpleBlobDetector::Params &pAct)
     }
     if (pAct.filterByInertia)
     {
-        String inf = static_cast<ostringstream*>(&(ostringstream() << pAct.minInertiaRatio))->str();
-        String sup = static_cast<ostringstream*>(&(ostringstream() << pAct.maxInertiaRatio))->str();
+        String inf = static_cast<const ostringstream&>(ostringstream() << pAct.minInertiaRatio).str();
+        String sup = static_cast<const ostringstream&>(ostringstream() << pAct.maxInertiaRatio).str();
         if (s.length() == 0)
             s = " Inertia ratio range [" + inf + " to  " + sup + "]";
         else
index 7e3248d..ce29db3 100644 (file)
@@ -73,25 +73,25 @@ struct MSERParams
 static String Legende(MSERParams &pAct)
 {
     String s="";
-    String inf = static_cast<ostringstream*>(&(ostringstream() << pAct.minArea))->str();
-    String sup = static_cast<ostringstream*>(&(ostringstream() << pAct.maxArea))->str();
+    String inf = static_cast<const ostringstream&>(ostringstream() << pAct.minArea).str();
+    String sup = static_cast<const ostringstream&>(ostringstream() << pAct.maxArea).str();
     s = " Area[" + inf + "," + sup + "]";
 
-    inf = static_cast<ostringstream*>(&(ostringstream() << pAct.delta))->str();
+    inf = static_cast<const ostringstream&>(ostringstream() << pAct.delta).str();
     s += " del. [" + inf + "]";
-    inf = static_cast<ostringstream*>(&(ostringstream() << pAct.maxVariation))->str();
+    inf = static_cast<const ostringstream&>(ostringstream() << pAct.maxVariation).str();
     s += " var. [" + inf + "]";
-    inf = static_cast<ostringstream*>(&(ostringstream() << (int)pAct.minDiversity))->str();
+    inf = static_cast<const ostringstream&>(ostringstream() << (int)pAct.minDiversity).str();
     s += " div. [" + inf + "]";
-    inf = static_cast<ostringstream*>(&(ostringstream() << (int)pAct.pass2Only))->str();
+    inf = static_cast<const ostringstream&>(ostringstream() << (int)pAct.pass2Only).str();
     s += " pas. [" + inf + "]";
-    inf = static_cast<ostringstream*>(&(ostringstream() << (int)pAct.maxEvolution))->str();
+    inf = static_cast<const ostringstream&>(ostringstream() << (int)pAct.maxEvolution).str();
     s += "RGb-> evo. [" + inf + "]";
-    inf = static_cast<ostringstream*>(&(ostringstream() << (int)pAct.areaThreshold))->str();
+    inf = static_cast<const ostringstream&>(ostringstream() << (int)pAct.areaThreshold).str();
     s += " are. [" + inf + "]";
-    inf = static_cast<ostringstream*>(&(ostringstream() << (int)pAct.minMargin))->str();
+    inf = static_cast<const ostringstream&>(ostringstream() << (int)pAct.minMargin).str();
     s += " mar. [" + inf + "]";
-    inf = static_cast<ostringstream*>(&(ostringstream() << (int)pAct.edgeBlurSize))->str();
+    inf = static_cast<const ostringstream&>(ostringstream() << (int)pAct.edgeBlurSize).str();
     s += " siz. [" + inf + "]";
     return s;
 }