> ## Documentation Index
> Fetch the complete documentation index at: https://docs.agno.com/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenCV

> OpenCVTools enables agents to capture images and videos from webcam using OpenCV computer vision library.

## Prerequisites

The following example requires the `opencv-python` and `openai` libraries.

```shell theme={null}
uv pip install -U opencv-python openai
```

```shell theme={null}
export OPENAI_API_KEY="your_openai_api_key_here"
```

Grant camera access to the terminal or IDE running the example. On macOS, use **System Settings > Privacy & Security > Camera**. On Windows, use **Settings > Privacy & security > Camera** and allow desktop apps. On Linux and in containers, make sure the process can access the camera device, such as `/dev/video0`.

## Example

The following agent can capture images and videos from your webcam:

```python theme={null}
from agno.agent import Agent
from agno.tools.opencv import OpenCVTools

agent = Agent(
    instructions=[
        "You are a computer vision assistant that can capture images and videos",
        "Use the webcam to take photos or record videos as requested",
        "Provide clear feedback about capture operations",
        "Help with basic computer vision tasks",
    ],
    tools=[OpenCVTools()],
)

agent.print_response("Take a photo using the webcam", stream=True)
```

## Toolkit Params

| Parameter              | Type   | Default | Description                                           |
| ---------------------- | ------ | ------- | ----------------------------------------------------- |
| `show_preview`         | `bool` | `False` | Whether to show camera preview window during capture. |
| `enable_capture_image` | `bool` | `True`  | Enable image capture functionality.                   |
| `enable_capture_video` | `bool` | `True`  | Enable video capture functionality.                   |
| `all`                  | `bool` | `False` | Enable all functionality.                             |

## Toolkit Functions

| Function        | Description                                              |
| --------------- | -------------------------------------------------------- |
| `capture_image` | Capture a single image from the webcam.                  |
| `capture_video` | Record a video from the webcam for a specified duration. |

## Developer Resources

* [Tools Source](https://github.com/agno-agi/agno/blob/main/libs/agno/agno/tools/opencv.py)
* [OpenCV Documentation](https://docs.opencv.org/)
