forked from publiclab/SWBSearchModule
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsearchAll.py
41 lines (34 loc) · 1007 Bytes
/
searchAll.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# This script is for searching all the resized images for similarity
# This performs a one-one comparision and returns the similarity metrics
# Usage: python searchAll.py new_image.jpg
import scipy as sp
from scipy.misc import imread
from scipy.signal.signaltools import correlate2d as c2d
import warnings
import glob
import os
import sys
import time
folder = "resized/"
images = {}
scores = {}
os.chdir(folder)
def get(image):
data = imread(image)
data = sp.inner(data, [299, 587, 114]) / 1000.0
return (data - data.mean()) / data.std()
start = time.clock()
search = get(sys.argv[1])
for image in glob.glob("*.jpg"):
images[image] = get(image)
with warnings.catch_warnings():
warnings.simplefilter("ignore")
# This is to ignore a warning saying that imaginary part in complex numbers
# is being discarded
for image in images:
scores[image] = c2d(search, images[image], mode = "same").max()
stop = time.clock()
print "done"
for score in scores:
print score, scores[score]
print stop-start