這篇文章將為大家詳細(xì)講解有關(guān)C++中怎么利用 OpenCV實(shí)現(xiàn)圖像分割,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
專注于為中小企業(yè)提供成都網(wǎng)站制作、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)沁水免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上1000家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
參數(shù)說(shuō)明:
img: 輸入圖像
result: 分段結(jié)果
mask圖像的值只能為下面下面4個(gè)值(PR,probably表示可能的):
GC_BGD = 0, //背景
GC_FGD = 1, //前景
GC_PR_BGD = 2, //可能背景
GC_PR_FGD = 3 //可能前景
rect: 包含前景的矩形
bgdModel: 背景
fgdModel: 前景
iterCount: 迭代次數(shù),必須大于0
mode:用于指示grabcut用什么函數(shù)進(jìn)行操作
GC_INIT_WITH_RECT //用矩形框初始化
GC_INIT_WITH_MASK //用掩碼圖像初始化
GC_EVAL //執(zhí)行分割
代碼演示
我們用的是上節(jié)課的鼠標(biāo)回調(diào)事件的項(xiàng)目opencv--Grabcut
定義了用GrabCut所用到的基本參數(shù)及方法
初始化mask,設(shè)置為背景
然后設(shè)置接N鍵來(lái)進(jìn)行GrabCut的圖像分割
鼠標(biāo)按下事件里加入兩個(gè)參數(shù)的初始化
鼠標(biāo)松開(kāi)事件里對(duì)Mask進(jìn)行重新定義
初始化Mask的方法setROIMask
執(zhí)行GrabCut方法
顯示圖像方法修改
關(guān)于C++中怎么利用 OpenCV實(shí)現(xiàn)圖像分割就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。