简介
本文主要介绍如何使用python来抠图,及抠图的基本原理效果图
图片 | |
---|---|
原图 | |
效果图 |
原理
- 首先要选定要抽取对象的区域,区域外的部分为背景
- 基于选定区域,grabCut循环处理前景内容
- 前景部分含有的背景(抽取对象外)部分,并不能很好处理。
代码
import cv2
import numpy as np
fname = 'images/test1.jpg'
img = cv2.imread(fname)
rect = (275, 120, 170, 320)
mask = np.zeros(img.shape[:2], np.uint8)
bgModel = np.zeros((1,65), np.float64)
fgModel = np.zeros((1,65), np.float64)
cv2.grabCut(img, mask, rect, bgModel, fgModel, 5, cv2.GC_INIT_WITH_RECT)
mask2 =