博客
关于我
OpenCV 在 Linux 上的 python 与 anaconda 无法正常工作.收到未实现 cv2.imshow() 的错误
阅读量:803 次
发布时间:2023-02-23

本文共 1340 字,大约阅读时间需要 4 分钟。

OpenCV 在 Linux 上的 Python 与 Anaconda 无法正常工作?以下是解决方法

在 Linux 环境下使用 OpenCV 时,可能会遇到cv2.imshow()未实现的错误。以下是一些常见的解决方法和优化建议:

  • 安装 OpenCV 和 numpy

    确保你已经安装了 OpenCV 和 numpy。在终端中输入以下命令:

    pip install opencv-python numpy

    如果你使用的是 Anaconda 环境,可以尝试:

    conda install -c conda-forge opencv-python numpy
  • 检查 Python 和 pip 版本

    OpenCV 的版本与 Python 版本有严格的匹配要求。

    • OpenCV 3.4.x 需要与 Python 3.6.x 一起使用。
    • OpenCV 4.x 及更高版本需要与 Python 3.7.x 或更高版本一起使用。
      查看当前版本:
    python --version  pip --version

    如果版本不匹配,可以尝试更换 Python 或安装适用于你版本的 OpenCV。

  • 检查 OpenCV 安装路径

    确保 OpenCV 的安装路径已经添加到系统的 PATH 环境变量中。
    查看当前 PATH:

    echo $PATH

    如果 OpenCV 位于 /usr/local/lib/python3.6/dist-packages 或其他路径,手动将其添加到 PATH:

    export PATH="/usr/local/lib/python3.6/dist-packages:$PATH"
  • 安装 Xorg 和 libGL

    如果你的系统缺少 Xorg 和 libGL,可能会导致图形显示问题。
    在 Ubuntu 等系统中安装:

    sudo apt-get install xorg libgl1-mesa-glx
  • 检查 cv2 模块是否实现

    有时候即使安装了 OpenCV,也可能cv2模块未正确加载。
    在代码中添加以下检查:

    import cv2  if 'cv2.imshow' in dir(cv2):      print('cv2.imshow() is implemented')  else:      print('cv2.imshow() is not implemented')
  • 测试图像显示功能

    如果以上方法无效,可以尝试以下代码来测试图像显示:

    import cv2  import numpy as np  # 创建一个黑色图像  img = np.zeros((512, 512, 3), np.uint8)  # 显示图像  cv2.imshow('image', img)  # 等待键盘事件并关闭窗口  cv2.waitKey(0)  cv2.destroyAllWindows()
  • 测试用例

    在终端中运行上述代码:

    python test_opencv.py

    如果图像成功显示,问题可能已经解决。

    应用场景

    • 人脸识别:OpenCV 可用于检测图像中的人脸,并进行存储或处理。
    • 物体检测:OpenCV 可用于检测图像中的特定物体,帮助开发自动化监控系统。

    转载地址:http://ilsfk.baihongyu.com/

    你可能感兴趣的文章
    OpenStack项目管理实战
    查看>>
    OpenStreetMap初探(一)——了解OpenStreetMap
    查看>>
    openSUSE 13.1 Milestone 2 发布
    查看>>
    openSUSE推出独立 GUI 包管理工具:YQPkg,简化了整个软件包管理流程
    查看>>
    OpenVSwtich(OVS)Vlan间路由实战 附实验环境
    查看>>
    Openwrt LuCI模块练习详细步骤
    查看>>
    OpenWrt固件编译刷机完全总结
    查看>>
    Open××× for Linux搭建之二
    查看>>
    Open×××有线网络时使用正常,无线网络时使用报错的解决方案
    查看>>
    Operation not supported on read-only collection 的解决方法 - [Windows Phone开发技巧系列1]
    查看>>
    Operations Manager 2007 R2系列之仪表板(多)视图
    查看>>
    operator new 与 operator delete
    查看>>
    operator() error
    查看>>
    OPPO K3在哪里打开USB调试模式的完美方法
    查看>>
    Optional类:避免NullPointerException
    查看>>
    ORA-00932: inconsistent datatypes: expected - got NCLOB【ORA-00932: 数据类型不一致: 应为 -, 但却获得 NCLOB 】【解决办法】
    查看>>
    ORA-00942 表或视图不存在
    查看>>
    ORA-01795: 列表中的最大表达式数为 1000
    查看>>
    ORA-06575: 程序包或函数 NO_VM_DROP_PROC 处于无效状态
    查看>>
    ORA-08102的错误
    查看>>