python和pil实现抠图_python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图

因为最近在做深度学习抠图,正好要用到蒙版进行抠图,所以我将抠图代码进行了封装注释,可以直接使用。可能走了弯路,若有高见请一定提出!

主要代码

import cv2

from PIL import Image

import numpy as np

class UnsupportedFormat(Exception):

def __init__(self, input_type):

self.t = input_type

def __str__(self):

return "不支持'{}'模式的转换,请使用为图片地址(path)、PIL.Image(pil)或OpenCV(cv2)模式".format(self.t)

class MatteMatting():

def __init__(self, original_graph, mask_graph, input_type='path'):

"""

将输入的图片经过蒙版转化为透明图构造函数

:param original_graph:输入的图片地址、PIL格式、CV2格式

:param mask_graph:蒙版的图片地址、PIL格式、CV2格式

:param input_type:输入的类型,有path:图片地址、pil:pil类型、cv2类型

"""

if input_type == 'path':

self.img1 = cv2.imread(original_graph)

self.img2 = cv2.im

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值