def find_similar_img(det_im,im_dataset_dir):
im_dataset=os.listdir(im_dataset_dir)
need_im_name=[]
need_im_det_instance=[]
print ('now doing get feature.....')
num=0
for fij in im_dataset:
big_imag = cv2.imread(im_dataset_dir+'/'+fij,cv2.IMREAD_GRAYSCALE)
big_imag=resize(big_imag, bigimg_size)
w_big_imag=resize(det_im, bigimg_size)
w_feature=HOG_features(w_big_imag)
wo_feature=HOG_features(big_imag)
dist=calEuclideanDistance(w_feature,wo_feature)
need_im_name.append(fij)
need_im_det_instance.append(dist)
num=num+1
print ('find similar img,now doing ...',num,len(im_dataset))
im_distanc=np.array(need_im_det_instance)
y = im_distanc.argsort()
similar_num=len(im_distanc)//3
if similar_num<1:
similar_num=1
if similar_num>30: # 100 can be replaced by the number of photos taken by a person
similar_num=30
similar_img=[]
for index in y[0:similar_num]:
similar_img.append(need_im_name[index])
return similar_img