grabCut
void cv::grabCut(
Mat img,
Mat mask,
Rect rect,
Mat bgdModel,
Mat fgdModel,
int iterCount,
int mode = GC_EVAL
)
void Cv2.GrabCut(
Mat img,
Mat mask,
Rect rect,
Mat bgdModel,
Mat fgdModel,
int iterCount,
GrabCutModes mode
)
mask, bgdModel, fgdModel = cv2.grabCut(
img,
mask,
rect,
bgdModel,
fgdModel,
iterCount,
mode
)
Note:
이미지 내 전경과 배경을 찾아 네 가지 그룹으로 나눈 마스크를 반환합니다.
-
-
-
-
확실한 배경 픽셀(GC_BGD)
: 0
-
확실한 전경 픽셀(GC_FGD)
: 1
-
가능한 배경 픽셀(GC_PR_BGD)
: 2
-
가능한 전경 픽셀(GC_PR_FGD)
: 3
관심 영역(rect)
은 그랩 컷 방식(mode)
이 GC_INIT_WITH_RECT일 때만 사용됩니다.
-
-
-
- model.cols =
배경 모델(bgdModel)
과 전경 모델(fgdModel)
은 CV_64FC1 형식의 [1, 65] 크기만 가능합니다. 수식은 다음과 같습니다.
-
modelSize
= mean + covariance + component weight = 3 + 9 + 1 = 13
-
componentsCount
= 5
- model.cols =
modelSize
* componentsCount
= 65
요약(Summary)
이미지를 전경과 배경으로 분할하는 최적의 컷을 찾습니다.
매개변수(Parameter)
입력 이미지(img)
그랩 컷을 적용하려는 입력 이미지
마스크 이미지(mask)
네 가지 그룹으로 분할된 마스크 이미지
관심 영역(rect)
전경이 포함된 관심 영역
배경 모델(bgdModel)
배경 추출을 위한 모델 행렬
전경 모델(fgdModel)
전경 추출을 위한 모델 행렬
반복 횟수(iterCount)
알고리즘 반복 횟수
그랩 컷 방식(mode)
전경과 배경을 분리할 그랩 컷 방식
반환값(Returns)
마스크 이미지(mask) 네 가지 그룹으로 분할된 마스크 이미지
배경 모델(bgdModel) 배경 추출을 위한 모델 행렬
전경 모델(fgdModel) 전경 추출을 위한 모델 행렬