Traceback (most recent call last): File "E:\1作业与文件\智能建造\大作业\main.py", line 33, in <module> left_eye = shape.part(36, 42) TypeError: part(): incompatible function arguments. The following argument types are supported: 1. (self: _dlib_pybind11.full_object_detection, idx: int) -> _dlib_pybind11.point Invoked with: <_dlib_pybind11.full_object_detection object at 0x0000017CC3E0F730>, 36, 42
时间: 2024-04-21 21:28:50 浏览: 65
根据错误信息,`part()` 函数有一个参数 `idx`,需要传入一个整数,但是这里传入了两个整数 36 和 42。建议检查一下代码中使用 `part()` 函数的地方,确保只传入了一个整数参数,例如:
```
left_eye = shape.part(36)
right_eye = shape.part(42)
```
这样就可以分别获取左眼和右眼的关键点了。
相关问题
Traceback (most recent call last): File "E:/kq智能信息/dcgan/main.py", line 10, in <module> import matplotlib.pyplot as plt ModuleNotFoundError: No module named 'matplotlib'
这个错误提示告诉你没有找到名为`matplotlib`的模块,解决方法是安装`matplotlib`模块。你可以打开命令行或者终端,输入以下命令安装:
```
pip install matplotlib
```
如果你使用的是 Anaconda 环境,可以使用以下命令:
```
conda install matplotlib
```
安装完成后再次运行代码即可。
Traceback (most recent call last): File "E:\1作业与文件\智能建造\大作业\main.py", line 37, in <module> left_eye_aspect_ratio = (left_eye[4].y - left_eye[1].y) / (left_eye[4].x - left_eye[0].x + 1e-6) TypeError: '_dlib_pybind11.point' object is not subscriptable
根据错误信息,`left_eye` 是一个 `_dlib_pybind11.point` 类型的对象,对象不支持使用下标操作。因此,在代码中使用 `left_eye[4]` 这样的下标操作是错误的。
如果想要获取关键点的 x 和 y 坐标,可以使用 `left_eye.x()` 和 `left_eye.y()` 这两个函数获取。例如:
```
left_eye_aspect_ratio = (left_eye[4].y() - left_eye[1].y()) / (left_eye[4].x() - left_eye[0].x() + 1e-6)
```
这样可以获取左眼纵横比。
阅读全文