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
原文:https://www.cnblogs.com/wjjcjj/p/14631765.html