当前位置:   article > 正文

解决 cv2.namedWindow 报错问题_cv2.namedwindow报错

cv2.namedwindow报错

最近需要运行这样一段代码进行边缘检测

import cv2

def nothing(x):
    pass

img = cv2.imread('0001.png', 0)

cv2.namedWindow('res')
cv2.createTrackbar('min', 'res', 0, 25, nothing)
cv2.createTrackbar('max', 'res', 0, 25, nothing)
while (1):
    if cv2.waitKey(1) & 0xFF==27:
        break
    maxVal = cv2.getTrackbarPos('max', 'res')
    minVal = cv2.getTrackbarPos('min', 'res')
    canny = cv2.Canny(img, 10 * minVal, 10 * maxVal)
    cv2.imshow('res', canny)
cv2.destroyAllWindows()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

但是会报如下错误

Traceback (most recent call last):
  File "/home/test.py", line 11, in <module>
    cv2.namedWindow('res')
cv2.error: OpenCV(3.4.2) /tmp/build/80754af9/opencv-suite_1535558553474/work/modules/highgui/src/window.cpp:615: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Carbon 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'
  • 1
  • 2
  • 3
  • 4

系统是 Ubuntu 16.04,之前安装 OpenCV 是直接通过 conda install opencv安装的。这样安装的是 3.4.2 版本的 OpenCV。

下面列一些能解决这个问题的方法:

1.

conda remove opencv
pip install opencv-python
  • 1
  • 2

conda remove opencv
pip install opencv-contrib-python
  • 1
  • 2

这样安装的 OpenCV 是最新版本,可以成功运行。

2.

conda remove opencv
conda install -c conda-forge opencv=4.1.0
  • 1
  • 2

不加后面的 4.1.0 安装的是 3.4.2 版本,4.1.0 版本可以成功运行。

3.

conda remove opencv
conda install -c menpo opencv3
  • 1
  • 2

安装的是 3.1.0,可以运行,但是会有其他小问题。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/618833
推荐阅读
  

闽ICP备14008679号