找相似图像+python

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