mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-04-27 23:07:34 +00:00
80 lines
2.4 KiB
Markdown
80 lines
2.4 KiB
Markdown
---
|
|
title: Image Processing
|
|
description: Instructions on how to setup image processing with Home Assistant.
|
|
ha_category:
|
|
- Image Processing
|
|
ha_release: 0.36
|
|
ha_domain: image_processing
|
|
ha_quality_scale: internal
|
|
ha_codeowners:
|
|
- '@home-assistant/core'
|
|
ha_integration_type: entity
|
|
---
|
|
|
|
Image processing enables Home Assistant to process images from [cameras](/integrations/#camera). Only camera entities are supported as sources.
|
|
|
|
## ALPR
|
|
|
|
ALPR entities have a vehicle counter attribute `vehicles` and all found plates are stored in the `plates` attribute.
|
|
|
|
The `found_plate` event is triggered after OpenALPR has found a new license plate.
|
|
|
|
```yaml
|
|
# Example configuration.yaml automation entry
|
|
automation:
|
|
- alias: "Open garage door"
|
|
trigger:
|
|
platform: event
|
|
event_type: image_processing.found_plate
|
|
event_data:
|
|
entity_id: openalpr.camera_garage_1
|
|
plate: BE2183423
|
|
...
|
|
```
|
|
|
|
The following event attributes will be present (platform-dependent): `entity_id`, `plate`, `confidence`
|
|
|
|
## Face
|
|
|
|
Face entities have a face counter attribute `total_faces` and all face data is stored in the `faces` attribute.
|
|
|
|
The `detect_face` event is triggered after a Face entity has found a face.
|
|
|
|
```yaml
|
|
# Example configuration.yaml automation entry
|
|
automation:
|
|
- alias: "Known person in front of my door"
|
|
trigger:
|
|
platform: event
|
|
event_type: image_processing.detect_face
|
|
event_data:
|
|
entity_id: image_processing.door
|
|
name: "Hans Maier"
|
|
...
|
|
```
|
|
|
|
The following event attributes will be present (platform-dependent): `entity_id`, `name`, `confidence`, `age`, `gender`, `motion`, `glasses`
|
|
|
|
## scan_interval and optimizing Resources
|
|
|
|
Image processing integrations process the image from a camera at a fixed period given by the `scan_interval`. This leads to excessive processing if the image on the camera hasn't changed, as the default `scan_interval` is 10 seconds. You can override this by adding to your configuration `scan_interval: 10000` (setting the interval to 10,000 seconds), and then call the `image_processing.scan` service when you actually want to perform processing.
|
|
|
|
```yaml
|
|
# Example configuration.yaml
|
|
sensor:
|
|
- platform: _AN_IMAGE_PROCESSING_PLATFORM_
|
|
scan_interval: 10000
|
|
...
|
|
automation:
|
|
- alias: "Scan for faces when motion detected"
|
|
trigger:
|
|
- platform: state
|
|
entity_id: sensor.door_motion_sensor
|
|
to: "on"
|
|
action:
|
|
- service: image_processing.scan
|
|
target:
|
|
entity_id: image_processing.door
|
|
...
|
|
```
|