File "compare.py", line 23, in <module> is_same = face_recognition.compare_faces([image_1], image_2)[0] File "/home/zhxk/.local/lib/python3.8/site-packages/face_recognition/api.py", line 226, in compare_faces return list(face_distance(known_face_encodings, face_encoding_to_check) <= tolerance) File "/home/zhxk/.local/lib/python3.8/site-packages/face_recognition/api.py", line 75, in face_distance return np.linalg.norm(face_encodings - face_to_compare, axis=1) TypeError: unsupported operand type(s) for -: 'list' and 'NoneType'
时间: 2024-03-21 15:39:20 浏览: 69
orl_faces.rar_MATLAB:_face library_face recognition_faces_highgc
这个错误提示说的是 face_encodings 和 face_to_compare 两个变量相减时,一个是列表类型,一个是 NoneType 类型,导致无法进行减法运算。可能是因为其中一个变量的值为 None,导致出现了这个错误。
建议在这段代码之前,检查一下 image_1 和 image_2 是否都被正确地读取和编码。另外,你可以在 `face_recognition.compare_faces([image_1], image_2)` 这行代码之前,加入以下语句来打印一下 image_1 和 image_2 的值,以及它们的类型,以便更好地排查问题:
```
print(type(image_1), type(image_2))
print(image_1, image_2)
```
希望这些能够帮助你找到问题所在。
阅读全文