[Bug 748377] OpenCV face detection does not work with OpenCV newer than 2.4.10

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Jul 29 15:53:47 PDT 2015


https://bugzilla.gnome.org/show_bug.cgi?id=748377

Reynaldo H. Verdejo Pinochet <reynaldo at opendot.cl> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #308214|none                        |needs-work
             status|                            |

--- Comment #26 from Reynaldo H. Verdejo Pinochet <reynaldo at opendot.cl> ---
Review of attachment 308214:
 --> (https://bugzilla.gnome.org/review?bug=748377&attachment=308214)

Hi Vanessa. Thanks for your work! Few comments bellow:

::: ext/opencv/gstfacedetect.cpp
@@ +600,3 @@
         break;
       case GST_FACEDETECT_UPDATES_ON_CHANGE:
+        if (!faces.empty() && (faces.size() > 0)) {

Shouldn't !faces.empty() be enough? There
are quite some occurrences of this redundant
check throughout your code.

@@ +631,3 @@
     }

+     for(unsigned int i = 0; i < faces.size(); ++i){

Use space after for, if, etc. Or at least be
consistent with your style choice.

@@ +670,3 @@
+        rey = r.y;
+        rew = r.width;
+        reh = r.height / 2;

Above code seems to be repeated quite a few
times. If possible, Please consider factoring
it out.

@@ +716,3 @@
+              "eyes->y", G_TYPE_UINT, rey + sr.y,
+              "eyes->width", G_TYPE_UINT, sr.width,
+              "eyes->height", G_TYPE_UINT, sr.height, NULL);

Same as above, please consider factoring it out

@@ +770,3 @@
+          h = sr.height / 2;
+          center.x = cvRound ((rex + sr.x + w));
+          center.y = cvRound ((rey + sr.y + h));

Same

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list