GrabCut
原圖必須是bgr圖片,不能包含a通道
Mat mask = Mat::zeros(frame.rows, frame.cols, CV_8U);
Mat bgModel,fgModel;
cv::Rect rect(10,10,frame.cols-20,frame.rows-10);
grabCut(f1, mask, rect, bgModel, fgModel, 5, GC_INIT_WITH_RECT);
compare(mask, GC_PR_FGD, f2, CMP_EQ);
compare(mask, GC_PR_BGD, f3, CMP_EQ);
bitwise_and(f1, f1, f4, f2);
bitwise_and(f1, f1, f5, f3);
迭代了5次
修正遮罩
上面代碼無法正常摳出這張圖淑际, 需要做遮罩處理走搁,沒成功,大家可以試試筛武,將修改的閥值圖給到mask然后處理的時候不用rect做參數(shù)缝其,最后一項選擇MASK方式。
GrabCut效率還是挺低的徘六,一次迭代也很慢内边,而且效果不好。作為實時扣圖不看好待锈。