示例#1
0
文件: index.py 项目: kevinaloys/cbir
from descriptor import Descriptor
import glob
import cv2
import argparse

argument_parser = argparse.ArgumentParser()
argument_parser.add_argument('-d','--dataset', required = True,
	help = 'Path to directory containing the dataset')
argument_parser.add_argument('-i','--index', required = True,
	help = 'Path to save computed index')
args = vars(argument_parser.parse_args())

color_descriptor = Descriptor((8, 12, 3))
number_of_images = len(glob.glob('jpg/*.jpg'))

with open(args['index'], 'w') as output:
	
	for image_path in glob.glob(args['dataset'] + '/*.jpg'):
		image_id = image_path[image_path.rfind('/') + 1:]
		image = cv2.imread(image_path)
		features = color_descriptor.describe(image)
		print('Computing features for image', image_id)
		features = [str(f) for f in features]
		output.write('%s, %s\n' % (image_id,','.join(features)))
		print(str((number_of_images - 1)) + 'left')
		number_of_images = number_of_images - 1
示例#2
0
文件: main.py 项目: kevinaloys/cbir
from descriptor import Descriptor
from search import Search
import glob
import cv2
import argparse

argument_parser = argparse.ArgumentParser()
argument_parser.add_argument('-i','--index', required = True,
	help = 'Path to save computed index')
argument_parser.add_argument('-q','--query', required = True,
	help = 'Path to query image')
argument_parser.add_argument('-d','--dataset', required = True,
	help = 'Path to result')
args = vars(argument_parser.parse_args())

color_descriptor = Descriptor((8, 12, 3))

query_image = cv2.imread(args['query'])
query_feature = color_descriptor.describe(query_image)
searcher = Search(args['index'])
feature_result = searcher.search(query_feature)

cv2.imshow('Query Image', query_image)

for score, image_name in feature_result:
	result = cv2.imread(args['dataset'] + '/' + image_name)
	cv2.imshow('Best Matching', result)
	cv2.waitKey(0)