def surf_tester(pic1, pic2,rot): print ("testing with",pic1,pic2) name1 = os.path.splitext(pic1)[0] name2 = os.path.splitext(pic2)[0] #p1 = sdet.findSurfPoints(pic1) #p2 = sdet.findSurfPoints(pic2) #np.save(str(rot)+"-"+name1, p1) #np.save(str(rot)+"-"+name2, p2) #p1 = np.load(str(rot)+"-"+name1+".npy") #p2 = np.load(str(rot)+"-"+name2+".npy") if rot == 1: p1 = np.load("0"+"-"+name1+".npy") p2 = np.load("0"+"-"+name2+".npy") p1 = ori.surf_orientation(p1,pic1) p2 = ori.surf_orientation(p2,pic2) desc1po1 = sdes.surf_descriptor_w_orientation(pic1, p1) desc2po2 = sdes.surf_descriptor_w_orientation(pic2, p2) if rot == 0: p1 = sdet.findSurfPoints(pic1) p2 = sdet.findSurfPoints(pic2) np.save(str(rot)+"-"+name1, p1) np.save(str(rot)+"-"+name2, p2) desc1po1 = udes.surf_descriptor(pic1, p1) desc2po2 = udes.surf_descriptor(pic2, p2) np.save(str(rot)+"-"+name1+"-desc", desc1po1) np.save(str(rot)+"-"+name2+"-desc", desc2po2) #oneNN (des1, des2, p1, p2) desc1po1 = np.load(str(rot)+"-"+name1+"-desc.npy") desc2po2 = np.load(str(rot)+"-"+name2+"-desc.npy") """ newdesc1po1 = [] newdesc2po2 = [] for i in desc1po1: if i[0][2] == 6.8 or i[0][2] == 10.0: newdesc1po1.append(i) for i in desc2po2: if i[0][2] == 6.8 or i[0][2] == 10.0: newdesc2po2.append(i) newdesc2po2 = np.array(newdesc2po2) newdesc1po1 = np.array(newdesc1po1) """ #(sp1, sp2, d1, d2) = h.oneNN(desc1po1[:,1], desc2po2[:,1], desc1po1[:,0], desc2po2[:,0]) (sp1, sp2, d1, d2) = h.oneNN_wdist(desc1po1[:,1], desc2po2[:,1], desc1po1[:,0], desc2po2[:,0]) #(sp1, sp2) = h.advanced_oneNN(desc1po1[:,1], desc2po2[:,1], desc1po1[:,0], desc2po2[:,0]) #print(sp1[0:10]) #print("\n") #print(sp2[0:10]) h.drawMatches(pic1, sp1[0:10], pic2, sp2[0:10], [],rot) """
def sifttestsuite(pic1, pic2): fn1 = pic1[:-4] fn2 = pic2[:-4] p1 = sdet.SIFT(pic1, 1.2) p2 = sdet.SIFT(pic2, 1.2) np.save(fn1, p1) np.save(fn2, p2) p1 = np.load(fn1 + ".npy") p2 = np.load(fn2 + ".npy") print(len(p1)) print(len(p2)) p1 = ori.sift_orientation(pic1, p1) p2 = ori.sift_orientation(pic2, p2) np.save(fn1, p1) np.save(fn2, p2) print("hier") p1 = np.load(fn1 + ".npy") p2 = np.load(fn2 + ".npy") final_desc1 = sdes.sift_descriptor(pic1, p1) final_desc2 = sdes.sift_descriptor(pic2, p2) np.save(fn1 + "-desc", final_desc1) np.save(fn2 + "-desc", final_desc2) f1 = np.load(fn1 + "-desc.npy") f2 = np.load(fn2 + "-desc.npy") # MUST f1 = h.transform_coordinates(f1) f2 = h.transform_coordinates(f2) print(len(f1)) print(len(f2)) np.save(fn1 + "-desc-trans", f1) np.save(fn2 + "-desc-trans", f2) f1 = np.load(fn1 + "-desc-trans.npy") f2 = np.load(fn2 + "-desc-trans.npy") f1 = np.load(fn1 + "-desc-trans.npy") f2 = np.load(fn2 + "-desc-trans.npy") #oneNN_wdist nesecary for matching as described in rapport (p1, p2, desc1, desc2) = h.oneNN_wdist(f1[:, 1], f2[:, 1], f1[:, 0], f2[:, 0]) h.drawMatches2(pic1, p1[:32], pic2, p2[:32], []) np.save(fn1 + "onenn-p", [p1, p2]) np.save(fn1 + "onenn-d", [desc1, desc2])
def sifttestsuite(pic1, pic2): fn1 = pic1[:-4] fn2 = pic2[:-4] p1 = sdet.SIFT(pic1, 1.2) p2 = sdet.SIFT(pic2, 1.2) np.save(fn1, p1) np.save(fn2, p2) p1 = np.load(fn1 + ".npy") p2 = np.load(fn2 + ".npy") print(len(p1)) print(len(p2)) p1 = ori.sift_orientation(pic1, p1) p2 = ori.sift_orientation(pic2, p2) np.save(fn1, p1) np.save(fn2, p2) print("hier") p1 = np.load(fn1 + ".npy") p2 = np.load(fn2 + ".npy") final_desc1 = sdes.sift_descriptor(pic1, p1) final_desc2 = sdes.sift_descriptor(pic2, p2) np.save(fn1 + "-desc", final_desc1) np.save(fn2 + "-desc", final_desc2) f1 = np.load(fn1 + "-desc.npy") f2 = np.load(fn2 + "-desc.npy") # MUST f1 = h.transform_coordinates(f1) f2 = h.transform_coordinates(f2) print(len(f1)) print(len(f2)) np.save(fn1 + "-desc-trans", f1) np.save(fn2 + "-desc-trans", f2) f1 = np.load(fn1 + "-desc-trans.npy") f2 = np.load(fn2 + "-desc-trans.npy") f1 = np.load(fn1 + "-desc-trans.npy") f2 = np.load(fn2 + "-desc-trans.npy") # oneNN_wdist nesecary for matching as described in rapport (p1, p2, desc1, desc2) = h.oneNN_wdist(f1[:, 1], f2[:, 1], f1[:, 0], f2[:, 0]) h.drawMatches2(pic1, p1[:32], pic2, p2[:32], []) np.save(fn1 + "onenn-p", [p1, p2]) np.save(fn1 + "onenn-d", [desc1, desc2])