【计算机视觉】使用GrabCut算法進行前景檢測

问题描述:

计算视差图是分割图像前景和背景的有效方法。本次目标是抓住图像中的人物并丢弃背景。GradCut算法实现步骤:

1. 定義一個包含圖片主題的矩形。

2. 矩形以外的區域被自動定義為背景。

3. 背景中包含的數據作為參考,在用戶定義的矩形內區分背景區域和前景區域。

4. 高斯混合模型 (GMM) 對前景和背景進行建模,並將未定義的像素標記為可能的背景和可能的前景。

5. 圖像中的每個像素都通過虛擬邊緣虛擬連接到周圍的像素,並且每個邊緣被分配為前景或背景的概率,基於它與周圍像素的顏色相似程度。

6. 每個像素(或算法中概念化的節點)都連接到前景或背景節點。

7. 在節點連接到任一終端(背景或前景,也分別稱為源或匯)後,屬於不同終端的節點之間的邊被切割(因此得名 GrabCut)。 因此,圖像被分割成兩部分。

实现步骤:

首先,加載我們要處理的圖像,然後創建一個填充了零的掩碼其形狀與我們加載的圖相同

import numpy as np
import cv2 
from matplotlib import pyplot as plt

original = cv2.imread('img/statue_small.jpeg')
img = original.copy()
mask = np.zeros(img.shape[:2],np.uint8)

#create zero-filled background and foreground models
#創建零填充的背景和前景模型
bgdModel = np.zeros((1,65),np.float64)
f
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值