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 package org.openimaj.demos.sitestuff;
31
32 import java.io.File;
33 import java.io.IOException;
34 import java.net.MalformedURLException;
35 import java.net.URL;
36
37 import org.openimaj.image.DisplayUtilities;
38 import org.openimaj.image.FImage;
39 import org.openimaj.image.ImageUtilities;
40 import org.openimaj.image.MBFImage;
41 import org.openimaj.image.colour.ColourSpace;
42 import org.openimaj.image.processing.face.detection.CLMDetectedFace;
43 import org.openimaj.image.processing.face.detection.CLMFaceDetector;
44 import org.openimaj.image.processing.face.detection.DetectedFace;
45 import org.openimaj.image.processing.face.detection.HaarCascadeDetector;
46 import org.openimaj.image.processing.face.detection.keypoints.FKEFaceDetector;
47 import org.openimaj.image.processing.face.detection.keypoints.KEDetectedFace;
48 import org.openimaj.image.processing.face.util.CLMDetectedFaceRenderer;
49 import org.openimaj.image.processing.face.util.KEDetectedFaceRenderer;
50 import org.openimaj.image.processing.face.util.SimpleDetectedFaceRenderer;
51 import org.openimaj.image.processing.resize.ResizeProcessor;
52
53 public class FaceDetSiteDemo {
54 public static void main(String[] args) throws MalformedURLException, IOException {
55
56 FImage img = ImageUtilities.readF(new URL("file:///Users/ss/Desktop/Barack-Obama-02.jpg"));
57 img.processInplace(new ResizeProcessor(640, 480));
58
59 MBFImage mbfAll = new MBFImage(img.width*3, img.height, ColourSpace.RGB);
60 MBFImage mbf;
61
62
63 HaarCascadeDetector det1 = new HaarCascadeDetector();
64 DetectedFace face1 = det1.detectFaces(img).get(0);
65
66 mbf = MBFImage.createRGB(img);
67 new SimpleDetectedFaceRenderer().drawDetectedFace(mbf,10,face1);
68 mbfAll.drawImage(mbf, 0, 0);
69
70
71
72 FKEFaceDetector det2 = new FKEFaceDetector();
73 KEDetectedFace face2 = det2.detectFaces(img).get(0);
74
75 mbf = MBFImage.createRGB(img);
76 new KEDetectedFaceRenderer().drawDetectedFace(mbf,10,face2);
77 mbfAll.drawImage(mbf, img.width, 0);
78
79
80
81 CLMFaceDetector det3 = new CLMFaceDetector();
82 CLMDetectedFace face3 = det3.detectFaces(img).get(0);
83
84 mbf = MBFImage.createRGB(img);
85 new CLMDetectedFaceRenderer().drawDetectedFace(mbf,10,face3);
86 mbfAll.drawImage(mbf, img.width*2, 0);
87
88 mbfAll.processInplace(new ResizeProcessor(320,240));
89
90 DisplayUtilities.display(mbfAll);
91 ImageUtilities.write(mbfAll, new File("/Users/ss/Desktop/barack-detected.png"));
92 }
93 }