def orb(detector, emparejador): if opcion == 'd': img1 = cv.imread('graf1.png', cv.IMREAD_GRAYSCALE) # queryImage img2 = cv.imread('graf3.png', cv.IMREAD_GRAYSCALE) # trainImage if opcion == 'n': img1 = cv.imread(nombre1, cv.IMREAD_GRAYSCALE) # queryImage img2 = cv.imread(nombre2, cv.IMREAD_GRAYSCALE) # trainImage # Initiate ORB detector orb = cv.ORB_create() # find the keypoints and descriptors with ORB kp1, des1 = orb.detectAndCompute(img1, None) kp2, des2 = orb.detectAndCompute(img2, None) menu_emparejamiento(emparejador, kp1, des1, kp2, des2, img1, img2)
def sift(detector,emparejador): if opcion == 'd': img1= cv.imread('graf1.png',cv.IMREAD_GRAYSCALE) # queryImage img2 = cv.imread('graf3.png',cv.IMREAD_GRAYSCALE) # trainImage if opcion == 'n': img1= cv.imread(nombre1,cv.IMREAD_GRAYSCALE) # queryImage img2 = cv.imread(nombre2,cv.IMREAD_GRAYSCALE) # trainImage # Initiate SIFT detector sift = cv.xfeatures2d.SIFT_create() # find the keypoints and descriptors with SIFT kp1, des1 = sift.detectAndCompute(img1,None) kp2, des2 = sift.detectAndCompute(img2,None) menu_emparejamiento(emparejador,kp1,des1,kp2,des2,img1,img2)
def surf(detector, emparejador): if opcion == 'd': img1 = cv.imread('graf1.png', cv.IMREAD_GRAYSCALE) # queryImage img2 = cv.imread('graf3.png', cv.IMREAD_GRAYSCALE) # trainImage if opcion == 'n': img1 = cv.imread(nombre1, cv.IMREAD_GRAYSCALE) # queryImage img2 = cv.imread(nombre2, cv.IMREAD_GRAYSCALE) # trainImage surf = cv.xfeatures2d.SURF_create() (kp1, des1) = surf.detectAndCompute(img1, None) surf = cv.xfeatures2d.SURF_create() (kp2, des2) = surf.detectAndCompute(img2, None) menu_emparejamiento(emparejador, kp1, des1, kp2, des2, img1, img2)
def brief(detector, emparejador, opcion, nombre1, nombre2, norma): #Lee las imagenes a analizar if opcion == 'd': img1 = cv.imread('tpic5.png', cv.IMREAD_GRAYSCALE) img2 = cv.imread('tpic5_flipped.png', cv.IMREAD_GRAYSCALE) if opcion == 'db': img1 = cv.imread('thome.jpg', cv.IMREAD_GRAYSCALE) img2 = cv.imread('thome_escale.jpg', cv.IMREAD_GRAYSCALE) if opcion == 'dc': img1 = cv.imread('tgrafizq.png', cv.IMREAD_GRAYSCALE) img2 = cv.imread('tgrafder.png', cv.IMREAD_GRAYSCALE) if opcion == 'n': img1 = cv.imread(nombre1, cv.IMREAD_GRAYSCALE) img2 = cv.imread(nombre2, cv.IMREAD_GRAYSCALE) #Inicia el Detector y Descriptor star = cv.xfeatures2d.StarDetector_create() brief = cv.xfeatures2d.BriefDescriptorExtractor_create() #Detecta Rasgos y Calcula el descriptor kpa = star.detect(img1, None) kp1, des1 = brief.compute(img1, kpa) kpb = star.detect(img2, None) kp2, des2 = brief.compute(img1, kpb) #Muestra Rasgos y Guarda la imagen correspondiente imgx = cv.drawKeypoints(img1, kp1, None, color=(0, 255, 255)) imgy = cv.drawKeypoints(img2, kp2, None, color=(0, 255, 255)) window_namex = "Rasgos Caracteristicos imagen 1" window_namey = "Rasgos Caracteristicos imagen 2" cv.namedWindow(window_namex) cv.namedWindow(window_namey) cv.resizeWindow(window_namex, 500, 400) cv.resizeWindow(window_namey, 500, 400) cv.imshow(window_namex, imgx) cv.imshow(window_namey, imgy) save(imgx, emparejador, detector, norma, tag1) save(imgy, emparejador, detector, norma, tag2) #Envia los datos a la etapa de emparejamiento menu_emparejamiento(emparejador, kp1, des1, kp2, des2, img1, img2, norma, detector)
def fast(detector, emparejador): if opcion == 'd': img1 = cv.imread('graf1.png', cv.IMREAD_GRAYSCALE) # queryImage img2 = cv.imread('graf3.png', cv.IMREAD_GRAYSCALE) # trainImage if opcion == 'n': img1 = cv.imread(nombre1, cv.IMREAD_GRAYSCALE) # queryImage img2 = cv.imread(nombre2, cv.IMREAD_GRAYSCALE) # trainImage fast = cv.FastFeatureDetector_create() # Initiate BRIEF extractor brief = cv.xfeatures2d.BriefDescriptorExtractor_create() kpa = fast.detect(img1, None) kp1, des1 = brief.compute(img1, kpa) kpb = fast.detect(img1, None) kp2, des2 = brief.compute(img2, kpb) menu_emparejamiento(emparejador, kp1, des1, kp2, des2, img1, img2)
def agast(detector, emparejador): if opcion == 'd': img1 = cv.imread('graf1.png', cv.IMREAD_GRAYSCALE) # queryImage img2 = cv.imread('graf3.png', cv.IMREAD_GRAYSCALE) # trainImage if opcion == 'n': img1 = cv.imread(nombre1, cv.IMREAD_GRAYSCALE) # queryImage img2 = cv.imread(nombre2, cv.IMREAD_GRAYSCALE) # trainImage # Initiate SIFT detector agast = cv.AgastFeatureDetector_create() brief = cv.xfeatures2d.BriefDescriptorExtractor_create() # find the keypoints and descriptors with SIFT kpa = agast.detect(img1, None) kp1, des1 = brief.compute(img1, kpa) kpb = agast.detect(img2, None) kp2, des2 = brief.compute(img2, kpb) menu_emparejamiento(emparejador, kp1, des1, kp2, des2, img1, img2)
def brief(detector, emparejador): if opcion == 'd': img1 = cv.imread('graf1.png', cv.IMREAD_GRAYSCALE) # queryImage img2 = cv.imread('graf3.png', cv.IMREAD_GRAYSCALE) # trainImage if opcion == 'n': img1 = cv.imread(nombre1, cv.IMREAD_GRAYSCALE) # queryImage img2 = cv.imread(nombre2, cv.IMREAD_GRAYSCALE) # trainImages # Initiate FAST detector star = cv.xfeatures2d.StarDetector_create() # Initiate ORB detector brief = cv.xfeatures2d.BriefDescriptorExtractor_create() # find the keypoints and descriptors with ORB kpa = star.detect(img1, None) kp1, des1 = brief.compute(img1, kpa) kpb = star.detect(img2, None) kp2, des2 = brief.compute(img1, kpb) menu_emparejamiento(emparejador, kp1, des1, kp2, des2, img1, img2)