Python: поиск похожих изображений с помощью шара - PullRequest
0 голосов
/ 20 сентября 2018

В моем проекте я собираюсь дать серверу изображение, и сервер должен искать похожие изображения в наборе данных.

Я использую Matcher на основе orb и Flann, чтобы найти совпадения между изображением запроса и каждым изображениемв наборе данных.Это мой файл searcher.py, в котором по-прежнему отсутствует фрагмент кода в зависимости от совпадений:

# import the necessary packages
from orbdescriptor import orbdescriptor
from orb_pickle import orb_pickle
import argparse
import glob
import cv2
import pickle
import numpy as np

class Searcher:
    def __init__(self, indexPath):
        # store our index path
        self.indexPath = indexPath

    def search(self, kp, desc, limit = 10):
        # initialize our dictionary of results
        results = {}
        FLANN_INDEX_LSH = 0
        MIN_MATCH_COUNT = 10
        orbpickle = orb_pickle()
        index_params = dict(algorithm = FLANN_INDEX_LSH, table_number = 12, key_size = 20, multi_probe_level = 2) 
        search_params = dict(checks=50)   # or pass empty dictionary
        flann = cv2.FlannBasedMatcher(index_params,search_params)
        # open the index file for reading
        keypoints_database = pickle.load( open( "keypoints_database.p", "rb" ) )
        for keypoint_item in keypoints_database:
            kp1, desc1, image_path = orbpickle.unpickle_keypoints(keypoint_item)
            if (len(desc1) > 0):
                desc = np.float32(desc)
                desc1 = np.float32(desc1)
                matches = flann.knnMatch(desc,desc1,k=2)

Вопрос в том, что я могу сделать, чтобы найти похожие изображения в наборе данных в зависимости от совпадений, найденных в коде.выше??Любая помощь будет оценена ...

...