#include <iostream>
#include <Windows.h>
#include <tchar.h>
#include "string"
#include <string.h>
#include <include/yt_MattingParameter.h>
#include <io.h>
#include <chrono>
#include <vector>
using namespace std;
using namespace chrono;
#pragma comment (lib,"PaddleSeg.lib")
extern "C" {
__declspec(dllimport) void MattingInit(char* modelPath, MattingParameter parameter);
__declspec(dllimport) void MattingSetbackground(int r, int g, int b);
__declspec(dllimport) int MattingSegFile(char* imagefile, char* outfile);
__declspec(dllimport) int MattingSegByte(char* imagebytedata, size_t* size, char* outfile);
__declspec(dllimport) int MattingSegBase64(char* imagebase64, char* outfile);
};
void getFiles(string path, vector<string>& files)
{
intptr_t hFile = 0;//文件句柄,过会儿用来查找
struct _finddata_t fileinfo;//文件信息
string p;
if ((hFile = _findfirst(p.assign(path).append("\\*").c_str(), &fileinfo)) != -1)
//如果查找到第一个文件
{
do
{
if ((fileinfo.attrib & _A_SUBDIR))//如果是文件夹
{
if (strcmp(fileinfo.name, ".") != 0 && strcmp(fileinfo.name, "..") != 0)
getFiles(p.assign(path).append("\\").append(fileinfo.name), files);
}
else//如果是文件
{
files.push_back(p.assign(path).append("\\").append(fileinfo.name));
}
} while (_findnext(hFile, &fileinfo) == 0); //能寻找到其他文件
_findclose(hFile); //结束查找,关闭句柄
}
}
int main()
{
MattingParameter parameter;
parameter.enable_mkldnn = true;
parameter.cpu_math_library_num_threads = 10;
char path[MAX_PATH];
GetCurrentDirectoryA(MAX_PATH, path);
string modelpath(path);
modelpath += "\\inference\\modnet-mobilenetv2";
string imagepath(path);
imagepath += "\\image";
string outpath(path);
outpath += "\\out\\";
vector<string> images;
getFiles(imagepath, images);
MattingInit(const_cast<char*>(modelpath.c_str()),parameter);
MattingSetbackground(45,145,255);
std::wcout.imbue(std::locale("chs"));
if (images.size() > 0)
{
for (size_t i = 0; i < images.size(); i++)
{
auto start = system_clock::now();
int pos= images[i].find_last_of( "\\");
string filename(images[i].substr(pos + 1));
MattingSegFile( const_cast<char*>(images[i].c_str()), const_cast<char*>((outpath+ filename).c_str()));
auto end = system_clock::now();
auto duration = duration_cast<milliseconds>(end - start);
std::cout << duration.count() * 0.001 << "s" << endl;
}
}
std::cin.get();
}
没有合适的资源?快使用搜索试试~ 我知道了~
PaddleSegSharp-master.zip
共69个文件
dll:27个
cs:9个
jpg:3个
3 下载量 42 浏览量
2023-01-04
14:13:16
上传
评论
收藏 108.63MB ZIP 举报
温馨提示
本项目是一个基于百度飞桨PaddleSeg项目的人像分割模块而开发的.NET的工具类库。PaddleSeg是基于飞桨PaddlePaddle的端到端图像分割套件,内置45+模型算法及140+预训练模型,支持配置化驱动和API调用开发方式,打通数据标注、模型开发、训练、压缩、部署的全流程,提供语义分割、交互式分割、Matting、全景分割四大分割能力,助力算法在医疗、工业、遥感、娱乐等场景落地应用
资源推荐
资源详情
资源评论
收起资源包目录
PaddleSegSharp-master.zip (69个子文件)
PaddleSegSharp-master
PaddleSegSharp.sln 4KB
PaddleSegSharp
PaddleSegSharp.csproj.user 220B
PaddleSegSharp.csproj 3KB
PaddleSegSharp.targets 1KB
MattingParameter.cs 2KB
app.config 112B
EngineBase.cs 3KB
Properties
launchSettings.json 115B
PaddleSegMattingEngine.cs 5KB
PaddleSegLib
inference
modnet-mobilenetv2
model.pdmodel 2.12MB
deploy.yaml 241B
model.pdiparams.info 43KB
model.pdiparams 24.86MB
vcamp140.dll 396KB
api-ms-win-core-processtopology-obsolete-l1-1-0.dll 11KB
mkldnn.dll 20.14MB
api-ms-win-core-libraryloader-l1-2-0.dll 4KB
msvcp140_2.dll 181KB
vcruntime140_1.dll 36KB
vcomp140.dll 178KB
msvcp140_codecvt_ids.dll 20KB
paddle_inference.dll 57.8MB
yt_CPUCheck.dll 11KB
concrt140.dll 302KB
yaml-cpp.dll 279KB
vccorlib140.dll 323KB
mklml.dll 88.36MB
mfcm140.dll 83KB
vcruntime140.dll 94KB
msvcp140.dll 551KB
onnxruntime.dll 7.53MB
libiomp5md.dll 1.65MB
mfc140.dll 5.36MB
opencv_world411.dll 72.01MB
API-MS-Win-Eventing-Provider-L1-1-0.dll 12KB
msvcp140_1.dll 23KB
PaddleSeg.dll 372KB
msvcp140_atomic_wait.dll 40KB
paddle2onnx.dll 3.72MB
doc
Csharp.md 615B
result.jpg 83KB
README_update.md 129B
mask.jpg 21KB
human.jpg 138KB
UseInCsharp.md 727B
179751613-d26f2261-7bcf-4066-a0a4-4c818e7065f0.gif 1.6MB
LICENSE 11KB
.gitignore 425B
Demo
cppDemo
include
yt_PaddleMatting.h 1KB
yt_MattingParameter.h 1KB
lib
PaddleSeg.lib 3KB
PaddleSeg.dll 372KB
cppDemo.vcxproj.user 351B
cppDemo.vcxproj.filters 948B
cppDemo.cpp 2KB
cppDemo.vcxproj 6KB
CSharp
MainForm.resx 104KB
App.config 556B
MainForm.Designer.cs 9KB
Properties
Resources.Designer.cs 3KB
Settings.Designer.cs 1KB
Settings.settings 242B
AssemblyInfo.cs 1KB
Resources.resx 5KB
MainForm.cs 7KB
Program.cs 589B
icon.ico 66KB
CSharp.csproj.user 304B
CSharpDemo.csproj 6KB
共 69 条
- 1
资源评论
m0_72731342
- 粉丝: 2
- 资源: 1832
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功