OpenCV is an open source computer vision image and video processing library.

Some pre-defined classifiers can be found here:


To setup OpenCV with Home Assistant, add the following section to your configuration.yaml file:

# Example configuration.yaml entry
  - platform: opencv
    name: Front Door Faces
      - entity_id: camera.front_door
      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:

      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: