Académique Documents
Professionnel Documents
Culture Documents
colordescriptor.py
import numpy as np
import cv2
import imutils
class ColorDescriptor:
self.bins = bins
features = []
(h, w) = image.shape[:2]
segments = [
(cX, w, 0, cY),
features.extend(hist)
features.extend(hist)
return features
hist = cv2.calcHist([image], [0, 1, 2], mask, self.bins, [0, 180, 0, 256, 0, 256])
if imutils.is_cv2():
hist = cv2.normalize(hist).flatten()
else:
return hist
index.py
import argparse
import glob
import cv2
ap = argparse.ArgumentParser()
args = vars(ap.parse_args())
image = cv2.imread(imagePath)
features = cd.describe(image)
output.close()
searcher.py
import numpy as np
import csv
class Searcher:
def __init__(self, indexPath):
self.indexPath = indexPath
result = {}
with open(self.indexPath) as f:
reader = csv.reader(f)
d = self.chi2_distance(features, queryFeatures)
result[row[0]] = d
f.close()
return results[:limit]
return d
search.py
import argparse
import cv2
ap = argparse.ArgumentParser()
args = vars(ap.parse_args())
query = cv2.imread(args["query"])
features = cd.describe(query)
searcher = Searcher(args["index"])
results = searcher.search(features)
cv2.imshow("Query", query)
cv2.imshow("Result", result)
cv2.waitKey(0)
Output:
Extract Feature
Dataset