home-assistant.io/source/_components/image_processing.opencv.markdown
2018-09-03 08:59:23 +02:00

56 lines
2.2 KiB
Markdown

---
layout: page
title: "OpenCV"
description: "Instructions on how to integrate OpenCV image processing into Home Assistant."
date: 2017-01-25 00:00
sidebar: true
comments: false
sharing: true
footer: true
logo: opencv.png
ha_category: Image Processing
featured: false
ha_release: 0.47
---
[OpenCV](http://www.opencv.org) is an open source computer vision image and video processing library.
Some pre-defined classifiers can be found [here](https://github.com/opencv/opencv/tree/master/data).
## {% linkable_title Configuration %}
To setup OpenCV with Home Assistant, add the following section to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
image_processing:
- platform: opencv
name: Front Door Faces
source:
- entity_id: camera.front_door
classifier:
mom: /path/to/classifier.xml
```
- **name** (*Required*): The name of the OpenCV image processor.
- **source** array (*Required*): List of image sources.
- **entity_id** (*Required*): A camera entity id to get picture from.
- **name** (*Optional*): This parameter allows you to override the name of your `image_processing` entity.
- **classifier** (*Optional*): Dictionary of name to path to the classifier xml file. If this field is not provided, a face classifier will be downloaded from OpenCV's Github repo.
**classifier** may also be defined as a dictionary of names to classifier configurations:
```yaml
mom:
file: /path/to/classifier/xml
neighbors: 4
min_size: (40, 40)
scale: 1.1f
```
- **file** (*Required*): The path to the classifier xml file.
- **scale** (*Optional*): The scale to perform when processing, this is a `float` value that must be greater than or equal to `1.0`, default is `1.1`.
- **neighbors** (*Optional*): The minimum number of neighbors required for a match, default is `4`. The higher this number, the more picky the matching will be; lower the number, the more false positives you may experience.
If you would like to see the regions that OpenCV has detected, add this OpenCV camera to your config's `custom_components/camera` directory: [https://gist.github.com/Teagan42/bf4b941b34a79a3e184e149ff1efd82f](https://gist.github.com/Teagan42/bf4b941b34a79a3e184e149ff1efd82f)