> For the complete documentation index, see [llms.txt](https://rhiot.gitbook.io/rhiotdocumentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://rhiot.gitbook.io/rhiotdocumentation/index-1/index/camel_openimaj_component.md).

# Camel OpenIMAJ component

Camel OpenIMAJ component can be used to detect faces in images. Camel OpenIMAJ component supports only producer endpoints.

## Maven dependency

Maven users should add the following dependency to their POM file:

io.rhiotcamel-openimag${rhiot.version}

Avaliable for rhiot.version >= 0.1.3

## URI format

```
openimaj:label
```

Where `label` can be replaced with any text label:

```
from("webcam:spycam").to("openimaj:face-detection");
```

This routes the input stream from the webcam to the openimaj component, when a face is detected the resulting body will be an instance of org.openimaj.image.processing.face.detection.DetectedFace, and List when there are multiple faces.

The component uses a face detector based on the Haar cascade by default, optionally set an alternate detector;

```
from("webcam:spycam").to("openimaj:face-detection?faceDetector=#anotherDetector");
```

Using the ProducerTemplate, the following example uses the FKEFaceDetector which is a wrapper around the Haar detector, providing additional information by finding facial keypoints on top of the face;

```
KEDetectedFace face = template.requestBody("openimaj:face-detection?faceDetector=#fkeFaceDetector", inputStream, KEDetectedFace.class);
FacialKeypoint keypoint = face.getKeypoint(FacialKeypoint.FacialKeypointType.EYE_LEFT_LEFT);
```

The confidence in the face detection is set to the low default of 1, you can set the minimum confidence threshold on the endpoint;

```
from("webcam:spycam").to("openimaj:face-detection?confidence=50");
```

### URI Options Parameters

| Option         | Default value               | Description                                                                                      |
| -------------- | --------------------------- | ------------------------------------------------------------------------------------------------ |
| `faceDetector` | `new HaarCascadeDetector()` | \`org.openimaj.image.processing.face.detection.HaarCascadeDetector' is the default face detector |
| `confidence`   | 1                           | The minimum confidence of the detection; higher numbers mean higher confidence.                  |
