今天继续记录遇到的问题:
今天跑yolov5时,因为是基于Sam环境来做的,所以,在Sam环境上安装yolo所需的一些依赖。
pip install -r requirements.txt
安装完成后,编译,没问题。正激动呢,运行报错了。真不让我省心,就不能让我稍微顺利走两步吗?
cv2.error: OpenCV(4.7.0) D:\a\opencv-python\opencv-python\opencv\modules\highgui\src\window.cpp:1272: 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 'cvShowImage'
这里是OpenCV报错,用GPT搜了一下,给了咱这个解释:
这个错误通常出现在Windows、GTK+2.x或Cocoa支持不完整的情况下,也就是说OpenCV无法找到所需的库或组件。解决这个问题的方法取决于你的操作系统和编译方式。
如果你使用的是Windows:
- 确保你已经正确安装了OpenCV,并且已经设置了正确的PATH环境变量
- 如果你使用的是预编译的OpenCV二进制文件,确保你使用的版本与你的Python版本和位数匹配
- 如果你使用的是自己构建的OpenCV版本,则需要检查你的构建配置,确保已正确启用相关支持。如果你使用的是Linux系统:
- 确保已经安装了libgtk2.0-dev和pkg-config。
- 重新运行cmake或配置脚本以重新编译OpenCV,并启用所需的支持。无论你在哪个系统上使用OpenCV,你也可以尝试将OpenCV降级到较旧的版本,或者使用Conda或其它包管理工具安装OpenCV,以避免与构建库相关的错误。
首先应该不是OpenCV版本问题,这里用到最新版--4.7.0.72,之前在单独跑这个yolo都没问题,后来百度了下,嘿嘿,找到了难兄难弟了。总结一下,大概有这几种情况:
1.版本问题,更新到最新版本
2.下面两个版本不一样导致的
opencv-python
opencv-contrib-python
3.应该没人是我这种,没装opencv-contrib-python,可以到conda环境里,用这个命令查看已安装的包的版本信息。
pip show opencv-contrib-python
我的是没装:所以package not found,被自己搞无语。。。。
WARNING: Package(s) not found: opencv-contrib-python
然后安装:
pip install opencv-contrib-python
再次运行,bingo,正常了。