美橙网站注册,做网站什么框架方便,网站建设仟首先金手指14,python做网站快吗OpenCV-Python中的图像处理-GrabCut算法交互式前景提取 Python-OpenCV中的图像处理-GrabCut算法交互式前景提取 Python-OpenCV中的图像处理-GrabCut算法交互式前景提取
cv2.grabCut(img: Mat, mask: typing.Optional[Mat], rect, bgdModel, fgdModel, iterCount, mode…)
img… OpenCV-Python中的图像处理-GrabCut算法交互式前景提取 Python-OpenCV中的图像处理-GrabCut算法交互式前景提取 Python-OpenCV中的图像处理-GrabCut算法交互式前景提取
cv2.grabCut(img: Mat, mask: typing.Optional[Mat], rect, bgdModel, fgdModel, iterCount, mode…)
img输入图像mask掩模图像用来确定那些区域是背景前景可能是前景/背景等。 可以设置为 cv2.GC_BGD,cv2.GC_FGD,cv2.GC_PR_BGD,cv2.GC_PR_FGD或者直接输入 0,1,2,3 也行。rect 包含前景的矩形格式为 (x,y,w,h)bdgModel, fgdModel算法内部使用的数组. 你只需要创建两个大小为 (1,65)数据类型为 np.float64 的数组。iterCount 算法的迭代次数mode 可以设置为 cv2.GC_INIT_WITH_RECT 或 cv2.GC_INIT_WITH_MASK也可以联合使用。这是用来确定我们进行修改的方式矩形模式或者掩模模式。
import numpy as np
import cv2
from matplotlib import pyplot as pltimg img cv2.imread(./resource/opencv/image/messi5.jpg, cv2.IMREAD_COLOR)
mask np.zeros(img.shape[:2], np.uint8)bgdModel np.zeros((1, 65), np.float64)
fgdModel np.zeros((1, 65), np.float64)rect (50, 50, 450, 450)# 函数返回值是更新的 mask, bgdModel, fgdModel
cv2.grabCut(img, mask, rect, bgdModel, fgdModel, 5, cv2.GC_INIT_WITH_RECT)mask2 np.where((mask2) | (mask0), 0, 1).astype(uint8)
img img*mask2[:, :, np.newaxis]plt.imshow(img), plt.colorbar(), plt.show()