/** * Used to detect faces when there is no current state. * * @return The list of detected faces */ private List<DetectedFace> detectFaces(final FImage img) { return this.faceDetector.detectFaces(img); }
@Override public synchronized List<? extends DetectedFace> getDetections(FDDBRecord record) { final List<DetectedFace> faces = det.detectFaces(record.getFImage()); // for (final DetectedFace f : faces) // f.setConfidence(1); return faces; } };
@Override public FeatureVector extract(MBFImage image, FImage mask) { if (mask != null) System.err.println("Warning: HAAR_FACES doesn't support masking"); HaarCascadeDetector fd = cascade.load(); return mode.getFeatureVector(fd.detectFaces(Transforms.calculateIntensityNTSC(image)), image); } }
@Override public FeatureVector extract(MBFImage image, FImage mask) { if (mask != null) System.err.println("Warning: HAAR_FACES doesn't support masking"); HaarCascadeDetector fd = cascade.load(); return mode.getFeatureVector(fd.detectFaces(Transforms.calculateIntensityNTSC(image)), image); } }
@Override public void doTutorial(MBFImage toDraw) { List<DetectedFace> faces = this.detector.detectFaces(toDraw.flatten()); for (DetectedFace detectedFace : faces) { toDraw.drawShape(detectedFace.getBounds(), RGBColour.RED); } } }
/** * Detect faces using {@link HaarCascadeDetector}, return an {@link ArrayList} of * {@link PShape} instances. Note the {@link PShape} instances have no fill and * a colour: 255,0,0 * @return detected faces */ public ArrayList<PShape> faces(){ ArrayList<PShape> faces = new ArrayList<PShape>(); List<DetectedFace> detected = faceDetector.detectFaces(oiImage.flatten()); for (DetectedFace detectedFace : detected) { Rectangle bounds = detectedFace.getBounds(); PShape detectedPShape = this.parent.createShape(RECT,bounds.x,bounds.y,bounds.width,bounds.height); detectedPShape.setFill(false); detectedPShape.setStroke(this.parent.color(255f, 0, 0)); faces.add(detectedPShape); } return faces; } }
hcd.setMinSize( minSize ); List<DetectedFace> faces = hcd.detectFaces( img ); if( displayResults )
hcd.setMinSize( minSize ); List<DetectedFace> faces = hcd.detectFaces( img ); if( displayResults )
@Override public void doTutorial(MBFImage toDraw) { MBFImageRenderer image = toDraw.createRenderer(); List<DetectedFace> faces = this.detector.detectFaces(toDraw.flatten()); for (DetectedFace detectedFace : faces) { float x = detectedFace.getBounds().x; float y = detectedFace.getBounds().y; float w = detectedFace.getBounds().width; float h = detectedFace.getBounds().height; renderBubbles(image,x-w/2,y,w,h); } }
@Override public void beforeUpdate(MBFImage frame) { final FImage image = frame.flatten(); final List<DetectedFace> faces = detector.detectFaces(image);
@Override public void beforeUpdate(MBFImage frame) { final FImage image = frame.flatten(); final List<DetectedFace> faces = detector.detectFaces(image);
faces = fd.detectFaces( faceFrame.flatten() );
DetectedFace face1 = det1.detectFaces(img).get(0);
DetectedFace face1 = det1.detectFaces(img).get(0);
return; final List<DetectedFace> faces = faceDetector.detectFaces(frame.flatten());
return; final List<DetectedFace> faces = faceDetector.detectFaces(frame.flatten());
List<DetectedFace> faces = faceDetector.detectFaces( image.flatten() );
List<DetectedFace> faces = faceDetector.detectFaces( image.flatten() );
final List<DetectedFace> faces = this.d.detectFaces( Transforms.calculateIntensityNTSC(frame));
final List<DetectedFace> faces = this.d.detectFaces( Transforms.calculateIntensityNTSC(frame));