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
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
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
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
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