MCP_3D浮雕
语言类型:英语 翻译结果: MCP_3D_浮雕
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"mcp_3d_relief": {
"args": [
"--directory",
"{fill_in_your_path_here}",
"run",
"server.py"
],
"command": "uv"
}
}
}
服务介绍
MCP STL 3D Relief Generator
中文
·
Introduction to MCP
·
Wiki
该项目提供了一个MCP服务器,可以将2D图像转换为STL格式的3D浮雕模型,适用于3D打印或渲染。
功能
- 将任何图像转换为3D浮雕模型
- 控制模型尺寸(宽度、厚度)
- 为3D模型添加可选底座
- 反转深度以实现不同的浮雕效果
- 快速处理并立即提供下载链接
安装
前提条件
- Python 3.10+
- uv
选项1:本地安装
- 克隆仓库:
bash
git clone https://github.com/bigchx/mcp_3d_relief.git
cd mcp_3d_relief
- 安装依赖项:
bash
uv pip sync requirements.txt
- 运行/检查服务器:
bash
mcp run server.py
mcp dev server.py
使用方法
JSON配置
json
{
"mcpServers": {
"mcp_3d_relief": {
"command": "uv",
"args": ["--directory", "{fill_in_your_path_here}", "run", "server.py"]
}
}
}
MCP工具参数
image_path: 输入图像文件的本地路径或网络URLmodel_width: 3D模型的宽度(单位:毫米,默认值:50.0)model_thickness: 3D模型的最大厚度/高度(单位:毫米,默认值:5.0)base_thickness: 底座的厚度(单位:毫米,默认值:2.0)skip_depth: 是否直接使用图像或生成深度图(默认值:true)invert_depth: 反转浮雕(亮区域变为低而不是高)(默认值:false)detail_level: 控制处理图像的分辨率(默认值:1.0)。在detail_level = 1.0时,图像以320px分辨率处理,生成的STL文件通常小于100MB。更高的值会提高细节质量,但也会显著增加处理时间和STL文件大小。例如,将detail_level翻倍可能会使文件大小增加4倍或更多。请谨慎使用。
响应
MCP工具返回一个JSON响应,包含以下内容:
json
{
"status": "success",
"depth_map_path": "path/to/yourimage_depth_map.png",
"stl_path": "path/to/yourimage.stl"
}
LLMs可以通过提供的URL访问此MCP服务器生成的文件。
命令行
您也可以直接从命令行使用脚本来从图像生成浮雕模型:
bash
python3 relief.py path/to/your/image.jpg
外部深度图生成
为了获得更高质量的深度图,您可以使用外部深度图生成服务,如Depth-Anything-V2。该服务可以生成更准确的深度图,然后您可以将其与此项目一起使用:
- 访问https://huggingface.co/spaces/depth-anything/Depth-Anything-V2
- 上传您的图像以生成深度图
- 下载生成的深度图
- 使用此深度图与我们的转换器,设置
skip_depth=false
这种方法可以为复杂的图像提供更好的3D浮雕模型。
工作原理
- 图像被处理以创建深度图(较暗的像素表示较低的高度,较亮的像素表示较高的高度)
- 深度图被转换为具有三角面片的3D网格
- 在模型底部添加底座
- 模型保存为STL文件
我们的合作伙伴
这段代码是一个包含两个图像链接的HTML结构。每个图像链接都位于一个带有阴影和圆角边框的容器中,并且在鼠标悬停时会有轻微的动画效果。以下是翻译后的中文注释:
html
请注意,hover:transform: translateY(-5px); 和 hover:box-shadow: 0 6px 16px rgba(0,0,0,0.15); 是CSS伪类选择器的写法,但在标准CSS中应使用:hover来定义这些样式。例如:
css
:hover {
transform: translateY(-5px);
box-shadow: 0 6px 16px rgba(0,0,0,0.15);
}