https://blog.csdn.net/think_three/article/details/80784952

dlib 人脸识别网址
https://www.cnblogs.com/vipstone/p/8964656.html
有效解决方案
https://blog.csdn.net/scottzeg/article/details/96362109

若是安装dlib过程中出现cmake版本问题
前提你安装了最新的cmake还是这样的问题
就是环境变量的问题
你的cmake必须要添加到环境变量中
无论是win还是linux
win上添加环境变量很简单
linux
建议安装的时候直接
sudo apt-get install cmake
就直接自动添加了
如果是用pip安装的话一般会出现版本问题
不过没事
直接执行 sudo apt-get install cmake即可

opencv cv2 基本使用方法
https://www.cnblogs.com/zlel/p/9267629.html

import tkinter as tkimport cv2,osimport tkinter.filedialogfrom PIL import Image,ImageTkdef selectPath(event):
    print(event.keysym)
    # a = tkinter.filedialog.asksaveasfilename()  # 返回文件名
    # print(a)
    # a = tkinter.filedialog.asksaveasfile()  # 会创建文件
    # print(a)
    # a = tkinter.filedialog.askopenfilename()  # 返回文件名
    # print(a)
    # a = tkinter.filedialog.askopenfile()  # 返回文件流对象
    # print(a)
    a = tkinter.filedialog.askdirectory()  # 返回目录名
    # a = tkinter.filedialog.askopenfilenames()  # 可以返回多个文件名
    # print(a)
    # a = tkinter.filedialog.askopenfiles()  # 多个文件流对象
    # print(a)
    return image_list+os.listdir(a)def selectPath1():

    # a = tkinter.filedialog.asksaveasfilename()  # 返回文件名
    # print(a)
    # a = tkinter.filedialog.asksaveasfile()  # 会创建文件
    # print(a)
    # a = tkinter.filedialog.askopenfilename()  # 返回文件名
    # print(a)
    # a = tkinter.filedialog.askopenfile()  # 返回文件流对象
    # print(a)
    a = tkinter.filedialog.askdirectory()  # 返回目录名
    # a = tkinter.filedialog.askopenfilenames()  # 可以返回多个文件名
    # print(a)
    # a = tkinter.filedialog.askopenfiles()  # 多个文件流对象
    # print(a)
    print(os.listdir(a))

# 返回选中的表情def get_selected_includes_index(event):
    if event.keysym=='space':
         for i in range(len(li)):
            if listb.selection_includes(i):
                save_labels(li[i])def save_labels(lab):
    print(image_list[-1],lab)
    with open("labels.json","a") as f:
        f.write(image_list[-1]+" "+lab+"\n")def get_img_next(event):


    if event.keysym=="Left":
        one_path=image_list.pop()
        print(one_path)
        image_list.insert(0,one_path)

        get_image_path_list()

    if event.keysym=="Right":
        one_path = image_list.pop(0)
        print(one_path)
        image_list.append(one_path)

        get_image_path_list()def get_image_path_list():
    # print(image_list)
    image=cv2.imread(image_list[-1])


    cv2.imshow("tu",image,width=30,height=30)file_name_path=input("请输入图片路径")image_lis=os.listdir(file_name_path)image_list=[]for one_path in image_lis:
    image_list.append(file_name_path+"/"+one_path)root = tk.Tk()li = ['surprise', 'fear', 'disgust', 'happy', 'sad', 'anger',"nature","delect_data"]image_path=tk.StringVar()listb = tk.Listbox(root)listb2 = tk.Listbox(root)for item in li:
    print(item)
    listb.insert(li.index(item), item)
    listb.bind("",get_selected_includes_index)root.bind("",get_img_next)root.bind("",get_img_next)root.bind("",selectPath)listb.pack()root.mainloop()if __name__ == '__main__':
    pass


     # 将小部件放置到主窗口中
    # listb2.pack()#http://www.sheizhiwo.com/book/161980/pdf