如何5分鐘上手使用PaddleSeg人像摳圖

饒玉田發表於2022-12-14

 

隨便開啟一個Microsoft Visual Studio,新建一個WinForms專案,從下面列表中隨便選擇一個NET框架。

net35;net40;net45;net451;net452;net46;net461;net462;net47;net471;net472;net48;net481;
netstandard2.0;netcoreapp3.1;
net5.0;net6.0;net7.0;

建立完視窗後,切換到【程式包管理控制檯】,輸入下面命令並回車:

Install-Package PaddleSegSharp -Version 1.0.0

完成PaddleSegSharp的依賴包安裝。

在視窗介面拖放一個按鈕,並雙擊,在按鈕的點選事件中,輸入以下程式碼:

新增名稱空間:

using PaddleSegSharp;

 

OpenFileDialog ofd = new OpenFileDialog();
            ofd.Filter = "*.*|*.bmp;*.jpg;*.jpeg;*.tiff;*.tiff;*.png";
            if (ofd.ShowDialog() != DialogResult.OK) return;
            string modelPath = null;
            //引數
            MattingParameter parameter = new MattingParameter();
            //初始化引擎
            PaddleSegMattingEngine engine = new PaddleSegMattingEngine();
            engine.Init(modelPath, parameter);
            //設定背景顏色
            engine.Setbackground(45, 145, 255);
            //分割後的檔案
            string outfile =  "C:\\" + Guid.NewGuid().ToString() + ".bmp";
            engine.Seg(ofd.FileName, outfile);

 

然後按F5執行,點選按鈕,選擇一個本地圖片,進行摳圖。

結果存在C盤下,開啟即可看到效果圖。

 

 

 

 

 

 

 

 

 專案簡介:

本專案是一個基於百度飛槳PaddleSeg專案的人像分割模組而開發的.NET的工具類庫。

本專案中PaddleSeg.dll檔案是基於開源專案最新發布版本PaddleSeg 2.7PaddleSeg的版本修改而成的C++動態庫,基於opencv的x64編譯而成的。

PaddleSeg是基於飛槳PaddlePaddle的端到端影像分割套件,內建45+模型演算法及140+預訓練模型,支援配置化驅動和API呼叫開發方式,打通資料標註、模型開發、訓練、壓縮、部署的全流程,提供語義分割、互動式分割、Matting、全景分割四大分割能力,助力演算法在醫療、工業、遙感、娛樂等場景落地應用。

本專案只能在X64的CPU上編譯和使用,只能在avx指令集上的CPU上使用。

本專案支援飛槳人像摳圖的所有模型。PP-MattingV2-512、PP-Matting-512、PP-Matting-1024、PP-HumanMatting、MODNet-MobileNetV2。 預設使用MODNet-MobileNetV2模型。

專案目前支援以下.NET框架,可以說,覆蓋範圍很廣。net35;net40;net45;net451;net452;net46;net461;net462;net47;net471;net472;net48;net481;

netstandard2.0;netcoreapp3.1;
net5.0;net6.0;net7.0;

專案開源地址:https://gitee.com/raoyutian/PaddleSegSharp

 

5分鐘的時間,你Get到了嗎?

歡迎加入QQ交流群:818391797進行技術交流

 

相關文章