File: 71.diff

package info (click to toggle)
ros-opencv-apps 1.12.0-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,044 kB
  • sloc: cpp: 5,162; python: 299; xml: 130; makefile: 4
file content (164 lines) | stat: -rw-r--r-- 8,448 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
diff --git a/launch/face_detection.launch b/launch/face_detection.launch
index aa75ca8..d42a244 100644
--- a/launch/face_detection.launch
+++ b/launch/face_detection.launch
@@ -2,7 +2,8 @@
   <arg name="node_name" default="face_detection" />
   <arg name="use_opencv3" default="false" />
   <arg name="use_opencv3_1" default="false" />
-  <arg name="use_opencv3_2" default="$(arg use_opencv3)" />
+  <arg name="use_opencv3_2" default="false" />
+  <arg name="use_opencv3_3" default="$(arg use_opencv3)" />
 
   <arg name="image" default="image" doc="The image topic. Should be remapped to the name of the real image topic." />
 
@@ -17,6 +18,10 @@
        name="face_cascade_name" default="$(find opencv3)/../OpenCV-3.2.0-dev/haarcascades/haarcascade_frontalface_alt.xml" doc="Face dtection cascade Filename" />
   <arg if="$(arg use_opencv3_2)"
        name="eyes_cascade_name" default="$(find opencv3)/../OpenCV-3.2.0-dev/haarcascades/haarcascade_eye_tree_eyeglasses.xml" doc="Eye dtection cascade Filename" />
+  <arg if="$(arg use_opencv3_3)"
+       name="face_cascade_name" default="$(find opencv3)/../OpenCV-3.3.1/haarcascades/haarcascade_frontalface_alt.xml" doc="Face dtection cascade Filename" />
+  <arg if="$(arg use_opencv3_3)"
+       name="eyes_cascade_name" default="$(find opencv3)/../OpenCV-3.3.1/haarcascades/haarcascade_eye_tree_eyeglasses.xml" doc="Eye dtection cascade Filename" />
   <arg unless="$(arg use_opencv3)"
        name="face_cascade_name" default="/usr/share/opencv/haarcascades/haarcascade_frontalface_alt.xml" doc="Face dtection cascade Filename" />
   <arg unless="$(arg use_opencv3)"
diff --git a/launch/face_recognition.launch b/launch/face_recognition.launch
index b7dbca8..9667d63 100644
--- a/launch/face_recognition.launch
+++ b/launch/face_recognition.launch
@@ -5,6 +5,7 @@
   <arg name="use_opencv3" default="false" />
   <arg name="use_opencv3_1" default="false" />
   <arg name="use_opencv3_2" default="false" />
+  <arg name="use_opencv3_3" default="false" />
   <arg name="debug_view" default="true" />
 
   <arg name="image" default="image" />
@@ -18,6 +19,7 @@
     <arg name="use_opencv3" value="$(arg use_opencv3)" />
     <arg name="use_opencv3_1" value="$(arg use_opencv3_1)" />
     <arg name="use_opencv3_2" value="$(arg use_opencv3_2)" />
+    <arg name="use_opencv3_3" value="$(arg use_opencv3_3)" />
   </include>
 
   <node name="face_recognition" pkg="opencv_apps" type="face_recognition"
diff --git a/src/nodelet/face_recognition_nodelet.cpp b/src/nodelet/face_recognition_nodelet.cpp
index 24b8051..487d6d7 100644
--- a/src/nodelet/face_recognition_nodelet.cpp
+++ b/src/nodelet/face_recognition_nodelet.cpp
@@ -463,16 +463,34 @@ namespace face_recognition {
       if (need_recreate_model) {
         try {
           if (config.model_method == "eigen") {
+// https://docs.opencv.org/3.3.1/da/d60/tutorial_face_main.html
+#if CV_MAJOR_VERSION >= 3 && CV_MINOR_VERSION >= 3
+            model_ = face::EigenFaceRecognizer::create(config.model_num_components,
+						       config.model_threshold);
+#else
             model_ = face::createEigenFaceRecognizer(config.model_num_components,
                                                    config.model_threshold);
+#endif
           } else if (config.model_method == "fisher") {
+#if CV_MAJOR_VERSION >= 3 && CV_MINOR_VERSION >= 3
+            model_ = face::FisherFaceRecognizer::create(config.model_num_components,
+							config.model_threshold);
+#else
             model_ = face::createFisherFaceRecognizer(config.model_num_components,
                                                     config.model_threshold);
+#endif
           } else if (config.model_method == "LBPH") {
+#if CV_MAJOR_VERSION >= 3 && CV_MINOR_VERSION >= 3
+            model_ = face::LBPHFaceRecognizer::create(config.lbph_radius,
+						      config.lbph_neighbors,
+						      config.lbph_grid_x,
+						      config.lbph_grid_y);
+#else
             model_ = face::createLBPHFaceRecognizer(config.lbph_radius,
                                                   config.lbph_neighbors,
                                                   config.lbph_grid_x,
                                                   config.lbph_grid_y);
+#endif
           }
           need_retrain = true;
         } catch (cv::Exception &e) {
diff --git a/src/nodelet/lk_flow_nodelet.cpp b/src/nodelet/lk_flow_nodelet.cpp
index 24825ad..533e5ab 100644
--- a/src/nodelet/lk_flow_nodelet.cpp
+++ b/src/nodelet/lk_flow_nodelet.cpp
@@ -159,7 +159,7 @@ class LKFlowNodelet : public opencv_apps::Nodelet
       if( needToInit )
       {
         // automatic initialization
-        cv::goodFeaturesToTrack(gray, points[1], MAX_COUNT, 0.01, 10, cv::Mat(), 3, 0, 0.04);
+        cv::goodFeaturesToTrack(gray, points[1], MAX_COUNT, 0.01, 10, cv::Mat(), 3, false, 0.04);
         cv::cornerSubPix(gray, points[1], subPixWinSize, cv::Size(-1,-1), termcrit);
         addRemovePt = false;
       }
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 8d0e7b2..5f713e7 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -43,14 +43,15 @@ if(cv_bridge_VERSION VERSION_LESS "1.11.9") # hydro skip face_detection.test
 elseif(OpenCV_VERSION VERSION_LESS "3.0")
   add_rostest(test-face_detection.test ARGS gui:=false)
   add_rostest(test-face_recognition.test ARGS gui:=false)
+elseif(OpenCV_VERSION VERSION_LESS "3.2")
+  add_rostest(test-face_detection.test ARGS gui:=false use_opencv3:=true use_opencv3_1:=true)
+  add_rostest(test-face_recognition.test ARGS gui:=false use_opencv3:=true use_opencv3_1:=true)
+elseif(OpenCV_VERSION VERSION_LESS "3.3")
+  add_rostest(test-face_detection.test ARGS gui:=false use_opencv3:=true use_opencv3_2:=true)
+  add_rostest(test-face_recognition.test ARGS gui:=false use_opencv3:=true use_opencv3_2:=true)
 else()
-  if(OpenCV_VERSION VERSION_LESS "3.2")
-    add_rostest(test-face_detection.test ARGS gui:=false use_opencv3:=true use_opencv3_1:=true)
-    add_rostest(test-face_recognition.test ARGS gui:=false use_opencv3:=true use_opencv3_1:=true)
-  else()
-    add_rostest(test-face_detection.test ARGS gui:=false use_opencv3:=true use_opencv3_2:=true)
-    add_rostest(test-face_recognition.test ARGS gui:=false use_opencv3:=true use_opencv3_2:=true)
-  endif()
+  add_rostest(test-face_detection.test ARGS gui:=false use_opencv3:=true use_opencv3_3:=true)
+  add_rostest(test-face_recognition.test ARGS gui:=false use_opencv3:=true use_opencv3_3:=true)
 endif()
 add_rostest(test-goodfeature_track.test ARGS gui:=false)
 add_rostest(test-corner_harris.test ARGS gui:=false)
diff --git a/test/test-face_detection.test b/test/test-face_detection.test
index decd9b9..fb60405 100644
--- a/test/test-face_detection.test
+++ b/test/test-face_detection.test
@@ -3,6 +3,7 @@
   <arg name="use_opencv3" default="false" />
   <arg name="use_opencv3_1" default="false" />
   <arg name="use_opencv3_2" default="false" />
+  <arg name="use_opencv3_3" default="false" />
   <node name="play_face_bag" pkg="rosbag" type="play" args="-l $(find opencv_apps)/test/face_detector_withface_test_diamondback.bag" />
 
   <group ns="wide_stereo/left" >
@@ -16,6 +17,7 @@
       <arg name="use_opencv3" value="$(arg use_opencv3)" />
       <arg name="use_opencv3_1" value="$(arg use_opencv3_1)" />
       <arg name="use_opencv3_2" value="$(arg use_opencv3_2)" />
+      <arg name="use_opencv3_3" value="$(arg use_opencv3_3)" />
     </include>
 
     <node name="face_image_viewer" pkg="image_view" type="image_view">
diff --git a/test/test-face_recognition.test b/test/test-face_recognition.test
index fd8a1b2..a4606b4 100644
--- a/test/test-face_recognition.test
+++ b/test/test-face_recognition.test
@@ -3,6 +3,7 @@
   <arg name="use_opencv3" default="false" />
   <arg name="use_opencv3_1" default="false" />
   <arg name="use_opencv3_2" default="false" />
+  <arg name="use_opencv3_3" default="false" />
   <node name="play_face_bag" pkg="rosbag" type="play" args="-l $(find opencv_apps)/test/face_detector_withface_test_diamondback.bag" />
 
   <group ns="wide_stereo/left" >
@@ -18,6 +19,7 @@
       <arg name="use_opencv3" value="$(arg use_opencv3)" />
       <arg name="use_opencv3_1" value="$(arg use_opencv3_1)" />
       <arg name="use_opencv3_2" value="$(arg use_opencv3_2)" />
+      <arg name="use_opencv3_3" value="$(arg use_opencv3_3)" />
       <arg name="data_dir" value="$(find opencv_apps)/test/face_data" />
     </include>