Salome HOME
[bos #39942] EDF 25230 - New problem with XYZtoUV
[modules/geom.git] / src / ShapeRecognition / ShapeRec_FeatureDetector.cxx
old mode 100755 (executable)
new mode 100644 (file)
index 0369b23..3b17293
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2023  CEA, EDF, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -161,7 +161,7 @@ bool ShapeRec_FeatureDetector::ComputeContours( bool useROI, ShapeRec_Parameters
 
     cvCvtColor(sample_image, sample_hsv, CV_BGR2HSV);
   
-    cvCvtPixToPlane(sample_hsv, sample_h_plane, sample_s_plane, 0, 0);
+    cvSplit(sample_hsv, sample_h_plane, sample_s_plane, 0, 0);
     IplImage* sample_planes[] = { sample_h_plane, sample_s_plane };
   
     // Create the hue / saturation histogram of the SAMPLE image.
@@ -215,7 +215,7 @@ bool ShapeRec_FeatureDetector::ComputeContours( bool useROI, ShapeRec_Parameters
   
     // Get hue and saturation planes of the INPUT image
     cvCvtColor(input_image, input_hsv, CV_BGR2HSV);
-    cvCvtPixToPlane(input_hsv, input_hplane, input_splane, 0, 0);
+    cvSplit(input_hsv, input_hplane, input_splane, 0, 0);
     IplImage* input_planes[] = { input_hplane, input_splane };
     
     // Compute the back projection
@@ -232,10 +232,14 @@ bool ShapeRec_FeatureDetector::ComputeContours( bool useROI, ShapeRec_Parameters
     cvReleaseImage(&input_hplane);
     cvReleaseImage(&input_splane);
     cvReleaseImage(&backproject);
-  
+
+#if CV_MAJOR_VERSION == 3
+    detected_edges = cv::cvarrToMat(binary_backproject);
+#else
     detected_edges = cv::Mat(binary_backproject);
+#endif
   }
-  // else if ( detection_method == RIDGE_DETECTOR )  // Method adapted for engineering drawings (e.g. watershed functionnality could be used here cf.OpenCV documentation and samples)
+  // else if ( detection_method == RIDGE_DETECTOR )  // Method adapted for engineering drawings (e.g. watershed functionality could be used here cf.OpenCV documentation and samples)
   // {
   //   // TODO
   //   return false;
@@ -253,7 +257,7 @@ bool ShapeRec_FeatureDetector::ComputeContours( bool useROI, ShapeRec_Parameters
   Computes the lines in the image located at imagePath
 */
 bool ShapeRec_FeatureDetector::ComputeLines(){
-  MESSAGE("ShapeRec_FeatureDetector::ComputeLines()")
+  MESSAGE("ShapeRec_FeatureDetector::ComputeLines()");
   // Initialising images
   cv::Mat src, src_gray, detected_edges, dst;