Exemple #1
0
def getEdgeNeighborTest():
    from algorithm import getEdge,getNeighborMatrix,getNeighbor
    
    labelMap = getSlic(img,200) 
    show(mark_boundaries(img,labelMap),0)
    edge = getEdge(labelMap)
    neighborMatrix = getNeighborMatrix(labelMap)    
    m, n = labelMap.shape 
    dic = getNeighbor(0,labelMap,neighborMatrix,4)
    print dic
    imgg = np.zeros((m,n))
    for k in dic:
        imgg[labelMap==k]=dic[k]
    show(imgg)

    imgg = np.zeros((m,n))
    for k in edge:
        imgg[labelMap==k]=1
    show(imgg)
    edge = getEdge(labelMap,0.06)
    imgg = np.zeros((m,n))
    for k in edge:
        imgg[labelMap==k]=1
    print 'edge width 0.06'
    show(imgg)    
Exemple #2
0
def my4test():
#if 1:
    from algorithm import *
    labelMap = getSlic(rgbImg,200)
    maxLabel = labelMap.max()+1
    m, n = labelMap.shape 
    
    coarseMethods = ['MEAN']
    coarseDic = getCoarseDic(imgName,coarseMethods)
#    show(coarseDic)   
    sumCoarseImg = getSumCoarseImg(coarseDic)
    coarseImgs=coarseDic.values()    

    img = sk.color.rgb2lab(rgbImg)
    # 获得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))
    show(mark_boundaries(sk.color.lab2rgb(img),labelMap))
    print diffEdges.shape
    show(valueToLabelMap(labelMap,diffEdges.sum(1)))
    show(valueToLabelMap(labelMap,diffNeighbors[:,:4].sum(1)))
#    show(valueToLabelMap(labelMap,diffNeighbors[:,4:].sum(1)))
#    show(valueToLabelMap(labelMap,diffNeighbors.sum(1)))
    show(valueToLabelMap(labelMap,vectors[:,4:8].sum(1)))