Python快速實現一鍵摳圖功能的全過程
簡介
使用百度深度學習框架paddlepaddle對人像圖片進行自動化摳圖
安裝
根據PaddlePaddle官網命令安裝
如
pip install paddlepaddle-gpu -i https://mirror.baidu.com/pypi/simple pip install paddlehub -i https://mirror.baidu.com/pypi/simple
初試
1.jpg
2.jpg
3.jpg
4.jpg
5.jpg
import paddlehub as hub from pathlib import Path paths = [str(i) for i in Path('.').glob('*.jpg')] # 當前路徑下所有.jpg文件 human_seg = hub.Module(name='deeplabv3p_xception65_humanseg') results = human_seg.segmentation(paths=paths, visualization=True, output_dir='output') # results = human_seg.segmentation(paths=paths, use_gpu=True, visualization=True, output_dir='output') # 使用GPU print(results)
代碼會自動下載圖像分割模型deeplabv3p_xception65_humanseg到C:\Users\Administrator\.paddlehub\modules
效果
文件名 | 原圖 | 效果 |
---|---|---|
1.jpg | ||
2.jpg | ||
3.jpg | ||
4.jpg | ||
5.jpg |
詳解
人像分割API
def segmentation(images=None, paths=None, batch_size=1, use_gpu=False, visualization=False, output_dir='humanseg_output')
參數
- images(list[numpy.ndarray]):圖片數據,BGR格式
- paths(list[str]):圖片路徑
- batch_size(int):批量處理數量
- use_gpu(bool):是否使用 GPU
- visualization(bool):是否將識別結果保存為圖片
- output_dir(str):圖片保存路徑
遇到的坑
1. 報錯RuntimeError: Environment Variable CUDA_VISIBLE_DEVICES is not set correctly. If you wanna use gpu, please set CUDA_VISIBLE_DEVICES as cuda_device_id.
import os os.environ['CUDA_VISIBLE_DEVICES'] = '0'
或
set CUDA_VISIBLE_DEVICES=0
參考文獻
一款Python實用神器,5 行 Python 代碼 實現一鍵批量扣圖
總結
到此這篇關於Python快速實現一鍵摳圖功能的文章就介紹到這瞭,更多相關Python一鍵摳圖內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 5行Python代碼實現一鍵批量扣圖
- Pytorch如何切換 cpu和gpu的使用詳解
- 10行Python代碼就能實現的八種有趣功能詳解
- 詳解pytorch的多GPU訓練的兩種方式
- Win10下安裝CUDA11.0+CUDNN8.0+tensorflow-gpu2.4.1+pytorch1.7.0+paddlepaddle-gpu2.0.0