grabcut函式原型:
def
grabcut
(img, mask, rect, bgdmodel, fgdmodel, itercount, mode=
none
)
img為原影象,mask為掩模,bgdmodel為前景背景模型,fgdmodel為後景背景模型,rect為初始矩形,背景和前景模型都要基於這個矩形所留下的區域來決定。
)#載入想要處理的影象
mask = np.zeros(img.shape[:2
],np.uint8)
#建立乙個與所載入影象同形狀的掩模,並用0填充
bgdmodel = np.zeros((1
,65),np.float64)
#建立以0填充的前景背景模型
fgdmodel = np.zeros((1
,65),np.float64)
#建立以0填充的後景背景模型
rect =
(100,50
,421
,378
)#準備用乙個標識出想要隔離的物件的矩形來初始化grabcut演算法。背景和前景模型都要基於這個初始矩形所留下的區域來決定。
cv2.grabcut(img,mask,rect,bgdmodel,fgdmodel,
5,cv2.gc_init_with_rect)
#使用指定的空模型和掩模來執行grabcut演算法,實際上是用乙個矩形來初始化這個操作。
#fgdmodel後的引數itercount(demo中為5)是演算法的迭代次數(整型數)
#經過以上處理後,mask已經變成包含0~3的值,值為0和2的將轉化為0,值為1和3的將轉為1,然後儲存在mask2中。
mask2 = np.where(
(mask==2)
|(mask==0)
,0,1
).astype(
'uint8'
)#對mask中的值進行轉換,這樣就可以用mask2過濾出所有的0值畫素。
img = img * mask2[:,
:,np.newaxis]
#併排展示。
opencv grabcut 分割演算法
grabcut基於 grabcut interactive foreground extraction using iterated graph cuts,是微軟亞洲研究院04年的 本 摘自opencv的示例 自己做了一些修改,加入了乙個輸出mask的功能。另外,由於grabcut會造成不少小洞,所...
行業前景不等於職業前景。
求職時,趨熱避冷 是很多求職者的思維定勢。銀行業 it業等熱門行業往往意味著高收入 高福利和長遠的發展,而農林牧漁業 傳統製造業等行業卻總給人收入低 工作枯燥的印象。因此在人才市場中,熱門行業總是人滿為患,冷門行業常常乏人問津。擇業不宜只盯著熱門行業。首先,行業的冷與熱是相對的,前幾年網際網路業曾紅...
Vista前景不妙
在 7個月之前,vista 面向企業版本正式發布,至今已有半年之久。vista 表現如何?7月 30日,patchlink 軟體補丁管理 商 公布乙份市場調查報告,發現 vista 企業版 的前景很不妙。根據這項調查,patchlink 發現 相比 7個月之前,計畫轉向 vista 的企業更少了。這...