# Segment-Anything-CSharp **Repository Path**: 806862335/Segment-Anything-CSharp ## Basic Information - **Project Name**: Segment-Anything-CSharp - **Description**: No description available - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-25 - **Last Updated**: 2024-10-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 简体中文 | [English](README_EN.md) # segment anything(SAM) [[`Paper`](https://ai.facebook.com/research/publications/segment-anything/)] [[`源码`](https://github.com/facebookresearch/segment-anything/)] ## SAM for CSharp ONNX Inference 基于C#语言,ONNX格式Segment Anything推理程序。 虽然官方提供了预训练模型,和推理代码,但预训练模型只有pytorch格式的,且推理代码只提供了基于Pytorch框架的Python代码。 本项目包含两部分: 1.将官方发布的预训练模型,拆分成编码器和解码器,并分别保存为ONNX格式。 2.使用C#语言加载模型,进行推理,并用WPF进行交互和显示。 ## 源码编译 1.下载源码到本地 2.Visual Studio打开.sln项目解决方案 3.安装Nuget包 3.1在Visual Studio中,鼠标右键单击项目并选择“管理NuGet程序包”。 3.2在“NuGet包管理器”窗口中,选择“浏览”选项卡。 3.3搜索Microsoft.ML.OnnxRuntime,选择1.15.1版本,点击安装 3.4搜索OpenCvSharp4,选择4.8.0版本,点击安装 3.5搜索OpenCvSharp4.runtime.win,选择4.8.0版本,点击安装 3.6SAMViewer目标平台设置x64 4.将decoder-quant.onnx,encoder-quant.onnx,textual.onnx,visual.onnx放到exe路径下 5.运行程序 效果演示: 点Promot:展开Point栏,点击AddPoint后,鼠标点击左侧图像选择点。Add Mask表示正向点,Remove Mask表示负向点。 Box Promot: 展开Box栏,点击AddBox后,鼠标点击左侧图像选择起始点,易懂鼠标改变Box大小。 AutoSeg:自动分割,展everythin栏,设置阈值,根据points_per_side值在图像上均匀选择候选点,每个点都作为promot,然后根据阈值对结果后处理。 Text Promot:展开text栏,先自动分割,然后借助CLIP计算自动分割的crop图像和text的相似度。 模型文件在Release中,或者关注下面微信公众号,后台回复【SAM】获取模型下载链接 关注微信公众号:**人工智能大讲堂**