Token导航 LogoToken导航TokenDH.com
Opencv MCP Server logo
开发工具stdio官方级别未说明来源级核验

Opencv MCP Server

MCP Server

OpenCV MCP Server provides OpenCV's image and video processing capabilities through the Model Context Protocol (MCP). Access powerful computer vision tools for tasks ranging from basic image manipulation to advanced object detection and tracking.

工具数

0

提示词数

0

GitHub Stars

104

资源数

0
视频分析PythonClaude图像处理Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

GongRzhe

提供方

GongRzhe

最后核验

2026/5/18 02:52

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install opencv-mcp-server

详细介绍

logo

🚀 OpenCV MCP服务器

MCP服务器为AI助手提供强大的OpenCV计算机视觉功能。

![](https://badge.mcpx.dev?type=server "MCP Server")

🔍 引言

OpenCV MCP Server是一个Python包,通过模型上下文协议(MCP)提供OpenCV的图像和视频处理功能。这使得人工智能助手和语言模型能够访问强大的计算机视觉工具,完成从基本图像处理到高级对象检测和跟踪的任务。

借助OpenCV MCP服务器,人工智能系统可以:

  • 处理和分析各种格式的图像
  • 执行实时目标检测和跟踪
  • 从视觉数据中提取有意义的信息
  • 使用高级算法增强和转换图像
  • 使用逐帧分析处理视频内容

✨ 特性

  • 📸 基本图像处理和操纵 (读取、保存、转换)
  • 🖼️ 图像处理和增强 (调整大小、裁剪、过滤应用程序)
  • 📊 边缘检测和轮廓分析
  • 🧠 先进的计算机视觉能力 (特征检测、物体检测)
  • 😃 人脸检测与识别
  • 🎬 视频处理和分析 (帧提取、运动检测)
  • 🔍 视频中的对象跟踪
  • 📹 用于实时目标检测的摄像头集成

📊 演示示例

边缘检测

Edge Detection

人脸检测

Face Detection

统计分析

Statistical Information

视频处理

Video Processing

原始视频样本

Original Video Demo

轮廓检测处理

Contour Detection *应用于上述原始视频的轮廓检测处理示例*

📦 安装

pip install opencv-mcp-server

发展:

# Clone the repository
git clone https://github.com/yourusername/opencv-mcp-server.git
cd opencv-mcp-server

# Create a virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install dependencies
pip install -e .

🔧 用法

在Claude桌面中使用

添加到您的Claude Desktop配置中:

{
    "mcpServers": {
        "opencv": {
            "command": "uvx",
            "args": [
                "opencv-mcp-server"
            ]
        }
    }
}

安装uvx

brew install uv

然后重新启动克劳德桌面

Python基本用法

from opencv_mcp_server import opencv_client

# Initialize client
client = opencv_client.OpenCVClient()

# Use tools
result = client.resize_image(
    image_path="input.jpg",
    width=800,
    height=600
)

高级目标检测示例

由于所有必需的型号都已在中配置 OPENCV_DNN_MODELS_DIR,您可以在不指定模型路径的情况下使用对象检测:

# Detect objects using pre-configured YOLO model
result = detect_objects_tool(
    image_path="street.jpg",
    confidence_threshold=0.5,
    nms_threshold=0.4
)

配置

可以使用环境变量配置服务器:

  • MCP_TRANSPORT:传输方法(默认值:“stdio”)
  • OPENCV_DNN_MODELS_DIR:用于存储DNN模型的目录(默认:“模型”)
  • CV_HAAR_CASCADE_DIR:用于存储Haar级联文件的目录(可选)

🧠 模型文件设置

计算机视觉和物体检测工具需要预先训练好的模型才能正常工作。这些模型应放置在由 OPENCV_DNN_MODELS_DIR 环境变量(默认值:“./models”)。

所需型号

以下型号已预先配置:

  • 人脸检测(DNN方法)

- deploy.prototxt -人脸检测配置 - res10_300x300_ssd_iter_140000.caffemodel -人脸检测模型权重

  • 目标检测(YOLO)

- yolov3.weights -YOLO模型权重 - yolov3.cfg -YOLO配置文件 - coco.names -检测到的对象的类名

模型使用

  • detect_faces_tool 在以下情况下使用DNN模型 method="dnn" 已指定
  • detect_objects_tool 使用YOLO模型进行一般目标检测

对于需要下载这些型号的用户,请参阅“安装”部分或访问:

  • YOLO型号:https://pjreddie.com/darknet/yolo/
  • 人脸检测模型:https://github.com/opencv/opencv_3rdparty/tree/dnn_samples_face_detector_20170830

🧰 可用工具

OpenCV MCP服务器提供了广泛的计算机视觉工具,分为四类:

📸 图像基础知识

这些工具提供基本的图像处理功能:

  • save_image_tool:将图像保存到文件

- 参数: path_in (输入图像路径), path_out (输出文件路径) - 返回:图像保存状态和路径信息 - 例子: save_image_tool(path_in="processed.jpg", path_out="final.jpg")

  • convert_color_space_tool:在颜色空间(BGR、RGB、GRAY、HSV等)之间转换图像

- 参数: image_path, source_space, target_space - 返回:转换后的图像信息和路径 - 例子: convert_color_space_tool(image_path="image.jpg", source_space="BGR", target_space="HSV")

  • resize_image_tool:将图像调整为特定尺寸

- 参数: image_path, width, height, interpolation (可选) - 返回:调整大小的图像信息和路径 - 例子: resize_image_tool(image_path="large.jpg", width=800, height=600)

  • crop_image_tool:从图像中裁剪区域

- 参数: image_path, x, y, width, height - 返回:裁剪的图像信息和路径 - 例子: crop_image_tool(image_path="scene.jpg", x=100, y=150, width=300, height=200)

  • get_image_stats_tool:获取有关图像的统计信息

- 参数: image_path, channels (布尔值,默认值:true) - 返回:图像统计和直方图可视化 - 例子: get_image_stats_tool(image_path="photo.jpg", channels=True)

🖼️ 图像处理

这些工具提供高级图像处理和转换功能:

  • apply_filter_tool:对图像应用各种滤镜(模糊、高斯、中值、双边)

- 参数: image_path, filter_type, kernel_size,并过滤特定参数 - 返回:过滤后的图像和过滤信息 - 例子: apply_filter_tool(image_path="noisy.jpg", filter_type="gaussian", kernel_size=5)

  • detect_edges_tool:使用不同的方法(Canny、Sobel、Laplacian、Scharr)检测图像中的边缘

- 参数: image_path, method、阈值参数和方法特定参数 - 返回:边缘检测图像和方法信息 - 例子: detect_edges_tool(image_path="objects.jpg", method="canny", threshold1=100, threshold2=200)

  • apply_threshold_tool:对图像应用阈值(二进制、自适应等)

- 参数: image_path, threshold_type阈值和方法特定参数 - 返回:阈值图像和阈值信息 - 例子: apply_threshold_tool(image_path="scan.jpg", threshold_type="binary", threshold_value=127)

  • detect_contours_tool:检测并可选地绘制图像中的轮廓

- 参数: image_path, mode, method,绘图参数 - 返回:带有轮廓和轮廓信息的图像 - 例子: detect_contours_tool(image_path="shapes.jpg", mode="external", method="simple")

  • find_shapes_tool:在图像中查找基本形状(圆、线)

- 参数: image_path, shape_type,形状特定参数 - 返回:带有形状和形状信息的图像 - 例子: find_shapes_tool(image_path="geometry.jpg", shape_type="circles", min_radius=10)

  • match_template_tool:在图像中查找模板

- 参数: image_path, template_path,匹配参数 - 返回:带有匹配项和匹配信息的图像 - 例子: match_template_tool(image_path="scene.jpg", template_path="object.jpg", threshold=0.8)

🧠 计算机视觉

这些工具提供高级计算机视觉功能:

  • detect_features_tool:使用SIFT、ORB、BRISK等方法检测图像中的特征

- 参数: image_path, method, max_features,绘图参数 - 返回:带有关键点和特征信息的图像 - 例子: detect_features_tool(image_path="landmark.jpg", method="sift", max_features=500)

  • match_features_tool:匹配两个图像之间的特征

- 参数: image1_path, image2_path, method,匹配参数 - 返回:带有匹配项和匹配信息的图像 - 例子: match_features_tool(image1_path="scene1.jpg", image2_path="scene2.jpg", method="sift")

  • detect_faces_tool:使用Haar级联或DNN检测图像中的人脸

- 参数: image_path, method,方法特定参数 - 返回:包含面部和面部信息的图像 - 例子: detect_faces_tool(image_path="group.jpg", method="haar", min_neighbors=5)

  • detect_objects_tool:使用预训练的DNN模型(例如YOLO)检测物体

- 参数: image_path、模型路径、检测参数 - 返回:带有对象和对象信息的图像 - 例子: detect_objects_tool(image_path="street.jpg", confidence_threshold=0.5)

🎬 视频处理

这些工具提供视频分析和处理功能:

  • extract_video_frames_tool:从视频文件中提取帧

- 参数: video_path,帧选择参数 - 返回:提取的帧信息和路径 - 例子: extract_video_frames_tool(video_path="clip.mp4", start_frame=0, step=10, max_frames=20)

  • detect_motion_tool:检测两帧之间的运动

- 参数: frame1_path, frame2_path,检测参数 - 返回:运动检测结果和可视化 - 例子: detect_motion_tool(frame1_path="frame1.jpg", frame2_path="frame2.jpg", threshold=25)

  • track_object_tool:跨视频帧跟踪对象

- 参数: video_path, initial_bbox,跟踪参数 - 返回:跟踪结果和提取的帧 - 例子: track_object_tool(video_path="tracking.mp4", initial_bbox=[100, 100, 50, 50])

  • combine_frames_to_video_tool:将帧合并到视频文件中

- 参数: frame_paths, output_path,视频参数 - 返回:视频创建结果 - 例子: combine_frames_to_video_tool(frame_paths=["frame1.jpg", "frame2.jpg"], output_path="output.mp4")

  • create_mp4_from_video_tool:将视频文件转换为MP4格式

- 参数: video_path, output_path,转换参数 - 返回:转换结果,包括MP4路径 - 例子: create_mp4_from_video_tool(video_path="input.avi", output_path="output.mp4")

  • detect_video_objects_tool:检测视频中的对象并创建检测结果视频

- 参数: video_path、模型路径、检测参数 - 返回:对象检测结果和输出视频路径 - 例子: detect_video_objects_tool(video_path="traffic.mp4", confidence_threshold=0.5)

  • detect_camera_objects_tool:检测计算机摄像头中的物体并保存到视频中

- 参数: camera_id、记录参数、模型路径、检测参数 - 返回:对象检测结果和输出视频路径 - 例子: detect_camera_objects_tool(camera_id=0, duration=30, confidence_threshold=0.5)

📝 高级使用示例

📸 基础图像处理

# Resize an image
result = resize_image_tool(
    image_path="input.jpg",
    width=800,
    height=600
)
# Access the resized image path
resized_image_path = result["output_path"]

# Apply a Gaussian blur filter
result = apply_filter_tool(
    image_path="input.jpg",
    filter_type="gaussian",
    kernel_size=5,
    sigma=1.5
)

🧠 目标检测

# Detect objects in an image using YOLO
result = detect_objects_tool(
    image_path="scene.jpg",
    confidence_threshold=0.5,
    nms_threshold=0.4
)
# Access detected objects
objects = result["objects"]
for obj in objects:
    print(f"Detected {obj['class_name']} with confidence {obj['confidence']}")

🎬 视频分析

# Extract frames from a video
result = extract_video_frames_tool(
    video_path="input.mp4",
    start_frame=0,
    step=10,
    max_frames=10
)
# Access extracted frames
frames = result["frames"]

# Detect objects in a video
result = detect_video_objects_tool(
    video_path="input.mp4",
    confidence_threshold=0.5,
    frame_step=5
)

🔄 链式操作

工具可以通过使用 output_path 从一个工具输入到另一个工具:

# First resize an image
result1 = resize_image_tool(
    image_path="input.jpg",
    width=800,
    height=600
)

# Then apply edge detection to the resized image
result2 = detect_edges_tool(
    image_path=result1["output_path"],
    method="canny",
    threshold1=100,
    threshold2=200
)

# Finally detect contours in the edge-detected image
result3 = detect_contours_tool(
    image_path=result2["output_path"],
    mode="external",
    method="simple"
)

🔍 实际应用

OpenCV MCP服务器可用于广泛的应用:

  • 🤖 自治系统:基于视觉的导航和障碍物检测
  • 🚗 流量分析:车辆计数、速度估计和车牌识别
  • 🔐 安全系统:运动检测和面部识别
  • 📱 增强现实:特征跟踪和姿态估计
  • 🏥 医学影像学:组织分割和异常检测
  • 🏭 工业检测:缺陷检测和质量控制
  • 🖼️ 数字艺术:图像过滤和转换
  • 🎲 游戏:手势识别和玩家跟踪

🗺️ 路线图

OpenCV MCP服务器的未来增强计划:

  • 📊 其他统计分析工具
  • 🧬 高级分割算法
  • 🧠 与机器学习模型集成
  • 🌐 3D视觉能力
  • 📱 移动友好的处理选项
  • ⚡ 实时处理的性能优化

🤝 贡献

欢迎投稿!请随时提交拉取请求。

  1. 分叉项目
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

📜 许可证

MIT许可证-有关详细信息,请参阅许可证文件。

📞 联系

如有疑问或反馈,请在GitHub存储库上打开问题。

______________________________________________________________________

内置于❤️ 使用OpenCV和Python。

目录标签

目录标签

视频分析PythonClaude图像处理developer-toolsopencvcomputer-visionimage-processing计算机视觉本地部署对象检测AI辅助工具

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP