# -*- coding: utf-8 -*- import cv2 import numpy as np import matplotlib.pyplot as plt # bgrをrgbに並び替え def bgr2rbg(im): b,g,r = cv2.split(im) im = cv2.merge([r,g,b]) return im def main(): # グラフカットをおこなう領域(矩形)を指定 x1,y1,x2,y2 = 0,0,500,350 # 画像の取得 im = cv2.imread("test.jpg") # マスク用の画像オブジェクト生成 mask = np.zeros(im.shape[:2],np.uint8) # 背景用の画像オブジェクト生成 bgd_model = np.zeros((1,65),np.float64) # 前景用の画像オブジェクト生
![【Python/OpenCV】グラフカットで前景抽出(背景除去)](https://cdn-ak-scissors.b.st-hatena.com/image/square/4e521a6fcf5db784968b1d9df5308c8a757be8ad/height=288;version=1;width=512/http%3A%2F%2Flivedoor.blogimg.jp%2Fprogr-python2%2Fimgs%2Ff%2Fe%2Ffe2d32f7-s.jpg)