Example #1
0
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)

  """
Example #2
0
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])
Example #3
0
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])