Segment Anything C++ ONNX 部署

最近做了几个测试, Segment Anything在工业上做些简单的预处理分割效果是很不错的,而且通过点输入提示,由于工业上拍摄的东西一般位置相对固定,因此可以有广泛的应用. 比如在分割一个轮廓模糊的区域,

用halcon 一般需要使用动态阈值等等处理,还需要做图像的灰度的非线性变化等提高对比度,这些操作其实都可以使用SAM自动化完成

Halcon处理

设置多个参数

 SAM处理

 

这样对比下来,如果SAM可以提供C++的部署方案的化,其实可以将分割这个工作量大大降低,最重要的是: 无需调整参数 使用Halcon的化,当图像亮度或者其它条件变化时,需要调整参数的.

实施

 1 C++ 源码

GitHub - dinglufe/segment-anything-cpp-wrapper 这里作者给出了实现方式

 2 安装

作者提供了vcpkg的安装方式

./vcpkg install opencv:x64-windows gflags:x64-windows onnxruntime-gpu:x64-windows

但是这个比较麻烦,原因是在git clone 第三方库 时需要设置HTTPS的代理,我电脑只能设置HTTP,因此就放弃了,看了下需要的几个库:

OpenCV : 这个电脑上有(这个不知道怎么弄的就不要看了)

: 这个没有,看了下时Google用来代码调试的,后来归微软了,那么在windows下面很好配置

onnxruntime:这个也有(没有的自己百度网上一大堆,这个也不用安装,跟OpenCV一样直接用 我的是1.14.1)

然后后面就是CMAKE一下.于是就自己装一下gflags

gflags安装:

首先下载https://github.com/gflags/gflags

下载完成后,不能直接用,需要先CAMKE 一下,Windows上用CMAKE GUI就可以

这是下载解压后的目录:

这是CMAKE 以后的创建的编译结果文件夹mybuild

这是编译的结果 include lib x64 才是最终需要的.

 安装完成之后,直接进入到F:\segment-anything-cpp-wrapper-1.4.1

新建build文件夹,用来存放项目编译结果

 我的配置如下:

点击 Condifgure 进行配置,我选的是 VS2019 X64 ,你自己的需要根据OpenCV  版本.

点击Condifgure 之后会报错,提示OpenCV 没有配置,然后点击选择路径,再次Configure

然后提示gflags 没有配置, 也是一样的操作,最后都没有问题了 提示 configure complete ,然后点击 

Generate, 再点Open Project 

关键来了

这里需要onnxruntime的配置,原项目是配置到了根目录下,这里你需要根据实际的路径

仅需要配置 sam_cpp_lib这个项目就可以了

重新编译,指导全部成功

 设置sam_cpp_test为启动项目

下载

segment-anything-cpp-wrapper-win64-v1.4.1.7zhttps://github.com/dinglufe/segment-anything-cpp-wrapper/releases/download/v1.4.1/segment-anything-cpp-wrapper-win64-v1.4.1.7z

将他放到和exe目录下

技术交流:   13361204270

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值