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