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!

推薦閱讀: