1.cvNamedWindow

Traceback (most recent call last): File "XXX\Ui_screen.py", line 493, in <module> AutoCV2(r'C:\Users\yys53\OneDrive\python\bestscript\find_picture\xiaoyao', ip, port=port).main_fun() File "C:\Users\yys53\OneDrive\python\bestscript\Ui_screen.py", line 237, in main_fun cv2.namedWindow('img') cv2.error: OpenCV(4.8.1) D:\a\opencv-python\opencv-python\opencv\modules\highgui\src\window.cpp:1255: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function 'cvNamedWindow' 

 

这个错误是由于OpenCV库在你的环境中缺少相应的窗口管理器支持而导致的。要解决这个问题,你可以考虑以下几种方法:

  1. 重新安装低版本opencv:
     

    pip install opencv-python==4.8.0.76

    或者升级最新版也可以

    pip uninstall opencv-python
    pip uninstall opencv-python-headless
    pip install opencv-python
  2. 切换窗口管理器:
    如果你使用的是其他窗口管理器,例如GTK+ 2.x或Cocoa,你可以尝试切换到它们并重新编译OpenCV以获得相应的支持。

  3. 使用Headless模式:
    如果你不需要显示图像窗口,而只是需要处理图像数据,可以尝试在OpenCV中使用无界面(headless)模式。这将避免图形窗口相关的问题。在OpenCV中运行无界面模式的示例代码如下:

    import cv2
    
    # 设置OpenCV为无界面模式
    cv2.imshow('img', img)  # 这行代码不会出现问题
    cv2.waitKey(0)
    cv2.destroyAllWindows()
  4. 切换到其他图像显示库:
    如果你只是需要显示图像,而不依赖于OpenCV的窗口功能,你可以考虑使用其他Python库,如Matplotlib,来显示图像,而不使用OpenCV的窗口功能。

  5. 检查库依赖项:
    确保你的OpenCV库是正确安装的,并且你的Python环境中没有任何问题。有时,这种问题可能是由于不正确的安装或库依赖项问题引起的。

根据你的具体情况和需求,你可以选择其中一种或多种方法来解决这个问题。

2.ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory

Traceback (most recent call last):
File "/home/yys/mobile/Ui_jinritoutiao_js.py", line 1, in
from UIAutomator import UiAutomatr
File "/home/yys/mobile/UIAutomator.py", line 8, in
import cv2 as cv
File "/usr/local/lib/python3.10/dist-packages/cv2/init.py", line 181, in
bootstrap()
File "/usr/local/lib/python3.10/dist-packages/cv2/init.py", line 153, in bootstrap
native_module = importlib.import_module("cv2")
File "/usr/lib/python3.10/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ImportError: libgthread-2.0.so.0: cannot open shared object file: No such file or directory

这个错误是(docker容器)因为缺少名为 libgthread-2.0.so.0 的共享库文件。解决这个问题的方法因环境而异,以下是一些可能的解决方案:

apt-get install libglib2.0-0

请根据你的具体环境和需求选择适合你的解决方案。

3.ImportError: libGL.so.1: cannot open shared object file: No such file or directory

sudo apt-get install libgl1-mesa-glx