示例#1
0
def showrpca():
    recall = np.load('rpca_rec.npy')
    diffall = np.load('rpca_diff.npy')
    from bigrec import bigrec
    from layerbase import DrawPatch
    drec = recall.reshape((-1,1,70-25,90-0))
    drec2 = np.load('glassline.npy').astype('f').reshape((-1,1,70-25,90-0))
    glassorig = np.load('glassorig.npy').reshape((-1,105,90))
    glassall = np.copy(glassorig)[:drec.shape[0]]
    drecall = np.zeros((drec.shape[0]+drec2.shape[0],1,70-25,90-0),'f')
    drecall[::2]=drec
    drecall[1::2]=drec2
    for i in range(drec.shape[0]):
        glassall[i] = bigrec(drec[i,0], glassall[i])
    misc.toimage(DrawPatch(glassall.reshape((-1,1,105,90)))).save('glasses.jpg')
    
    drecall = np.zeros((drec.shape[0]+drec.shape[0],105,90),'f')
    drecall[::2]=glassall
    drecall[1::2]=glassorig
    misc.toimage(DrawPatch(drecall.reshape((-1,1,105,90)))).save('recoverypair.jpg')
    
    #return
    #misc.toimage(DrawPatch(drecall)).save('rpcapair.jpg')
    drec = diffall.reshape((-1,1,70-25,90-0))
    misc.toimage(DrawPatch(drec)).save('rpcadiff.jpg')
示例#2
0
def domedmask():
    diff = np.load('rpca_diff.npy').reshape((-1,70-25,90-0))
    diffmask = np.where(diff>50,255,0)
    from bigrec import bigrec
    maskall = np.zeros((diff.shape[0],105,90),np.int0)
    glassorig = np.load('glassorig.npy').reshape((-1,105,90))
    noglass = np.zeros_like(glassorig)
    for i in range(diff.shape[0]):
        print i
        maskall[i] = bigrec(diffmask[i], maskall[i])
        medresult = maskedmedfilt(glassorig[i], maskall[i], 6,4)
        noglass[i] = np.where(maskall[i], medresult, glassorig[i])
    np.save('medfilt_noglass.npy',noglass)
    from layerbase import DrawPatch
    misc.toimage(DrawPatch(noglass.reshape((-1,1,105,90)))).save('mednoglass.png')
    misc.toimage(DrawPatch(maskall.reshape((-1,1,105,90)))).save('medmask.png')