在运行opencv时出现的两个问题:AttributeError: module ‘cv2‘ has no attribute ‘gapi_wip_gst_GStreamerPipeline‘

项目场景:

手部21点检测项目需要使用opencv和mediapipe两个模块,在运行程序中opencv出现了问题。


问题描述:

问题一:
AttributeError: module ‘cv2’ has no attribute ‘gapi_wip_gst_GStreamerPipeline’

解决了问题一之后,问题二马上出现。

问题二:
cv2.error:OpenCV(4.1.2)C:\projects\opencvpython\opencv\modules\highgui\src\window.cpp:717: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 rerun cmake or configure script in function ‘cvWaitKey’


解决方案:

问题一解决方案:在GitHub上看到一个博主的解决方案

pip install “opencv-python-headless<4.3”
pip install opencv-python-headless==4.1.2.32 -i https://pypi.tuna.tsinghua.edu.cn/simple

问题二解决方案:
看到网上说要么留下opencv-python,要么留下opencv-contrib-python
参考网上的经验选择留下opencv-contrib-python

首先卸载了opencv-python,当时的opencv-python的版本是4.5.3,发现模块的有些功能还是不能够运行。
后来重新下载回opencv-python,版本是4.6.0,在conda下查看模块的信息发现,opencv-python和opencv-contrib-python的版本一致!
再次运行程序,不报错了。在这里插入图片描述

通过此次bug解决,总结两点:

  • 首先在运行程序中,opencv-contrib-python和opencv-python是可以共存的,不需要删除某一个模块。
  • 在一定的条件下,可能需要它们俩的版本一致。

你可能感兴趣的:(opencv,python,人工智能)