File "Car_recognition.py", line 280, in <module> ori_img = draw_result(img, dict_list) File "Car_recognition.py", line 223, in draw_result orgimg = cv2ImgAddText(orgimg, car_color_str, rect_area[0], rect_area[1], (0, 255, 0), height_area) File "/home/zhxk/sufan/license_recognition_server/license_recognition_server/utils/cv_puttext.py", line 9, in cv2ImgAddText fontText = ImageFont.truetype( File "/home/zhxk/.local/lib/python3.8/site-packages/PIL/ImageFont.py", line 996, in truetype return freetype(font) File "/home/zhxk/.local/lib/python3.8/site-packages/PIL/ImageFont.py", line 993, in freetype return FreeTypeFont(font, size, index, encoding, layout_engine) File "/home/zhxk/.local/lib/python3.8/site-packages/PIL/ImageFont.py", line 248, in __init__ self.font = core.getfont( OSError: cannot open resource
时间: 2024-01-03 07:03:42 浏览: 41
这个错误似乎是Pillow库在加载字体文件时出现问题。您可以尝试以下解决方法:
1. 检查字体路径是否正确:您需要在cv_puttext.py文件中检查字体路径是否正确。确保字体文件存在并且路径正确。
2. 安装所需的字体:如果字体文件确实存在但仍出现错误,请尝试在系统中安装所需的字体。命令如下:
```
sudo apt-get install ttf-mscorefonts-installer
```
3. 更新Pillow库:如果上述解决方法都无法解决问题,请尝试更新Pillow库。命令如下:
```
pip install -U Pillow
```
希望这些解决方法能够帮助您解决问题。
相关问题
python程序打包后出现Traceback (most recent call last): File" Posture_recognition. py", line 6; in< module> File" mediapipe\ python\ solutions\ pose: py", line 146, in init File" mediapipe\ python\ solution_base. py", line 264, in_init_ FileNotFoundError:The path
这个错误可能是因为你打包的时候没有将依赖项一起打包进去,导致程序在运行时找不到必要的文件。
你可以尝试使用 PyInstaller 进行打包,它可以将所有依赖项一起打包进去,从而避免这个问题。
具体操作可以参考以下步骤:
1. 安装 PyInstaller:
```
pip install pyinstaller
```
2. 进入你的 Python 程序所在的目录,执行以下命令进行打包:
```
pyinstaller --onefile your_program.py
```
这个命令会生成一个可执行文件,你可以将它移动到其他地方运行。
3. 如果你的程序中使用了其他文件或者依赖项,你需要使用 PyInstaller 的 `--add-data` 参数将它们一起打包进去。例如:
```
pyinstaller --onefile --add-data "data/*.txt:data" your_program.py
```
这个命令会将 `data` 目录下的所有 `.txt` 文件打包进去,并将它们放到可执行文件所在的 `data` 目录下。
希望这些能帮到你!
Traceback (most recent call last): File "C:/Users/86150/Desktop/python姿势识别/Posture_recognition.py", line 17, in <module> for landmark_list in results.pose_landmarks: TypeError: 'NormalizedLandmarkList' object is not iterable
根据错误消息,可以看出问题出现在循环遍历`results.pose_landmarks`这一行。错误提示说`NormalizedLandmarkList`对象不可迭代。
根据MediaPipe的文档,`pose_landmarks`是一个包含了所有检测到的姿势关键点的列表,但它本身不是一个可迭代的对象。所以我们需要将循环遍历的方式进行修改。
请尝试将代码中的以下部分进行修改:
```python
if results.pose_landmarks:
for landmark in results.pose_landmarks.landmark:
h, w, c = img.shape
cx, cy = int(landmark.x * w), int(landmark.y * h)
cv2.circle(img, (cx, cy), 5, (0, 255, 0), -1)
```
将`for landmark_list in results.pose_landmarks`修改为`for landmark in results.pose_landmarks.landmark`。这样就可以直接遍历姿势关键点的列表了。
然后重新运行代码,看看问题是否解决了。如果还有其他问题或错误,请提供详细的错误信息。