def cmpFG(fgmask, fgmaskideal):
    '''Returns tuple (tp,tn,fp,fn)'''
    notfgmask = opencv.cvCloneMat(fgmask)
    opencv.cvNot(fgmask, notfgmask)
    notfgmaskideal = opencv.cvCloneMat(fgmask)
    opencv.cvNot(fgmaskideal, notfgmaskideal)
    res = opencv.cvCloneMat(fgmask)

    opencv.cvAnd(fgmask, fgmaskideal, res)
    tp = opencv.cvCountNonZero(res)

    opencv.cvAnd(notfgmask, notfgmaskideal, res)
    tn = opencv.cvCountNonZero(res)

    opencv.cvAnd(fgmask, notfgmaskideal, res)
    fp = opencv.cvCountNonZero(res)

    opencv.cvAnd(notfgmask, fgmaskideal, res)
    fn = opencv.cvCountNonZero(res)
    return (tp, tn, fp, fn)
Exemple #2
0
def cmpFG(fgmask,fgmaskideal):
    '''Returns tuple (tp,tn,fp,fn)'''
    notfgmask = opencv.cvCloneMat(fgmask)
    opencv.cvNot(fgmask,notfgmask)
    notfgmaskideal = opencv.cvCloneMat(fgmask)
    opencv.cvNot(fgmaskideal,notfgmaskideal)
    res = opencv.cvCloneMat(fgmask)

    opencv.cvAnd(fgmask,fgmaskideal,res)
    tp = opencv.cvCountNonZero(res)

    opencv.cvAnd(notfgmask,notfgmaskideal,res)
    tn = opencv.cvCountNonZero(res)

    opencv.cvAnd(fgmask,notfgmaskideal,res)
    fp = opencv.cvCountNonZero(res)

    opencv.cvAnd(notfgmask,fgmaskideal,res)
    fn = opencv.cvCountNonZero(res)
    return (tp,tn,fp,fn)
Exemple #3
0
def mask(img, img_mask):
    dim = img.width, img.height
    depth = img.depth
    channels = img.nChannels

    r_chan = cv.cvCreateImage(cv.cvSize(*dim), depth, 1)
    g_chan = cv.cvCreateImage(cv.cvSize(*dim), depth, 1)
    b_chan = cv.cvCreateImage(cv.cvSize(*dim), depth, 1)
    combined = cv.cvCreateImage(cv.cvSize(*dim), depth, 3)
    cv.cvSplit(img, r_chan, g_chan, b_chan, None)

    cv.cvAnd(r_chan, img_mask, r_chan)
    cv.cvAnd(g_chan, img_mask, g_chan)
    cv.cvAnd(b_chan, img_mask, b_chan)
    cv.cvMerge(r_chan, g_chan, b_chan, None, combined)
    return combined
Exemple #4
0
def mask(img, img_mask):
    dim      = img.width, img.height
    depth    = img.depth
    channels = img.nChannels

    r_chan = cv.cvCreateImage(cv.cvSize(*dim), depth, 1)
    g_chan = cv.cvCreateImage(cv.cvSize(*dim), depth, 1)
    b_chan = cv.cvCreateImage(cv.cvSize(*dim), depth, 1)
    combined = cv.cvCreateImage(cv.cvSize(*dim), depth, 3)
    cv.cvSplit(img, r_chan, g_chan, b_chan, None)

    cv.cvAnd(r_chan, img_mask, r_chan)
    cv.cvAnd(g_chan, img_mask, g_chan)
    cv.cvAnd(b_chan, img_mask, b_chan)
    cv.cvMerge(r_chan, g_chan, b_chan, None, combined)
    return combined