Пример #1
0
def my5diffEdgeAndNeighbor(img, coarseImgs, labelMap):
    '''MY5
    add different from Edge And Neighbor
    '''
    img = sk.color.rgb2lab(img)
    # 获得4+4维  distance
    degreeVectors, Ws = getVectors(img, labelMap)
    weightSumVectors = getWeightSum(labelMap, degreeVectors, Ws)

    diffEdges, diffNeighbors = getAllDiffEdgeAndNeighbor(labelMap, Ws)

    vectors = np.append(weightSumVectors, diffEdges, 1)
    vectors = np.append(vectors, diffNeighbors, 1)

    vectorsTrains = []
    coarseTrains = []
    for coarseImg in coarseImgs:
        coarseTrain, vectorsTrainTag = getCoarseTrain(coarseImg, labelMap)
        vectorsTrains += list(vectors[vectorsTrainTag])
        coarseTrains += list(coarseTrain)

    elm = getElm(np.array(vectorsTrains), np.array(coarseTrains))
    refined = elm.predict(vectors)[:, 0]
    refinedImg = valueToLabelMap(labelMap, normalizing(refined))
    return refinedImg
Пример #2
0
def getRefindImgsOneElmAddLabAndLbp(img, coarseImgs, labelMap):
    '''MY3
    use all coarse imgs to train one elm, than, predict one refinedImg
    add Lab
    '''
    img = sk.color.rgb2lab(img)
    #show([mark_boundaries(img,labelMap),imgGt])
    # 获得4+4维  distance
    degreeVectors, Ws = getVectors(img, labelMap)
    weightSumVectors = getWeightSum(labelMap, degreeVectors, Ws)
    '''add lab lbp'''
    labVectors = getColorVector(img, labelMap)
    lbpVectors = getLbp(img, labelMap)
    vectors = np.c_[weightSumVectors, labVectors, lbpVectors]
    #    print 'weightSumVectors labVectors vectors.shape',weightSumVectors.shape,labVectors.shape,vectors.shape

    vectorsTrains = []
    coarseTrains = []
    for coarseImg in coarseImgs:
        coarseTrain, vectorsTrainTag = getCoarseTrain(coarseImg, labelMap)
        vectorsTrains += list(vectors[vectorsTrainTag])
        coarseTrains += list(coarseTrain)

    elm = getElm(np.array(vectorsTrains), np.array(coarseTrains))
    refined = elm.predict(vectors)[:, 0]
    refinedImg = valueToLabelMap(labelMap, normalizing(refined))
    return refinedImg
Пример #3
0
def getBgNoElm(img, coarseImgs=None, labelMap=None):
    '''BG1
    '''
    img = sk.color.rgb2lab(img)
    #show([mark_boundaries(img,labelMap),imgGt])
    # 获得4+4维  distance
    degreeVectors, Ws = getVectors(img, labelMap)
    vectors = getWeightSum(labelMap, degreeVectors, Ws)
    if not coarseImgs:
        bg = norma(vectors2labelMap(vectors, labelMap).sum(-1))
        return bg
        show(bg)
        pblue('befor Classifier!')
        coarseImgs = [bg]
    vectorsTrains = []
    coarseTrains = []
    for coarseImg in coarseImgs:
        coarseTrain, vectorsTrainTag = getCoarseTrain(coarseImg, labelMap)
        vectorsTrains += list(vectors[vectorsTrainTag])
        coarseTrains += list(coarseTrain)

    g()
    elm = getElm(np.array(vectorsTrains), np.array(coarseTrains))
    refined = elm.predict(vectors)[:, 0]
    refinedImg = valueToLabelMap(labelMap, normalizing(refined))
    return refinedImg
Пример #4
0
def getRefindImgsOneElm(img, coarseImgs, labelMap):
    '''MY1
    use all coarse imgs to train one elm, than, predict one refinedImg
    '''
    img = sk.color.rgb2lab(img)
    #show([mark_boundaries(img,labelMap),imgGt])
    # 获得4+4维  distance
    degreeVectors, Ws = getVectors(img, labelMap)
    vectors = getWeightSum(labelMap, degreeVectors, Ws)

    vectorsTrains = []
    coarseTrains = []
    for coarseImg in coarseImgs:
        coarseTrain, vectorsTrainTag = getCoarseTrain(coarseImg, labelMap)
        vectorsTrains += list(vectors[vectorsTrainTag])
        coarseTrains += list(coarseTrain)

    elm = getElm(np.array(vectorsTrains), np.array(coarseTrains))
    refined = elm.predict(vectors)[:, 0]
    refinedImg = valueToLabelMap(labelMap, normalizing(refined))
    return refinedImg
Пример #5
0
def getRefindImgsManyElm(img, coarseImgs, labelMap):
    '''MY2
    for each coarse img train a elm, each elm predict a refinedImg
    merge refinedImgs and normalizing to one refinedImg
    '''
    img = sk.color.rgb2lab(img)
    #show([mark_boundaries(img,labelMap),imgGt])
    # 获得4+4维  color and texture scatter degree
    degreeVectors, Ws = getVectors(img, labelMap)
    #
    vectors = getWeightSum(labelMap, degreeVectors, Ws)
    refinedImgs = []
    for coarseImg in coarseImgs:
        coarseTrain, vectorsTrainTag = getCoarseTrain(coarseImg, labelMap)
        elm = getElm(vectors[vectorsTrainTag], coarseTrain)
        refined = elm.predict(vectors)[:, 0]
        refinedImg = valueToLabelMap(labelMap, normalizing(refined))
        refinedImgs += [refinedImg]

    # 合并 归一
    refinedImgSum = integratImgsBy3way(refinedImgs)
    return refinedImgSum