除IDLE外,其他IDE不能与openCV一起工作

2024-03-28 10:42:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经验证了我的Python和openCV库确实有效。假设一个简单的cv2.imshow()在与IDLE一起使用时正常工作。但是,当我尝试使用另一个IDE(如visualstudio和Pyscripter)使用相同的代码时,IDE无法显示图像并出错。但是当我试着打印(cv2.版本)时,它工作正常。这意味着我的IDE可以很好地使用openCV库。我的pyscripter也提供了与VS相同的输出。我已经禁用了任何反病毒。为什么只有闲置的工作?你知道吗

import cv2

print(cv2.__version__)

img = cv2.imread('cat.jpg')

cv2.imshow('img', img)`

IDLE vs VS running same code

python(64位):3.7.5 开放CV(pip):4.1.1 Visual Studio:2019 16.3.8

更新: 我发现这个错误:

cv2.error: OpenCV(4.1.1) C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:352: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'

因此,我在VS中添加了c++模块,并在代码中添加了以下行:

cv2.waitKey(0)
cv2.destroyAllWindows()

它工作,但有点滞后相比,闲置,有人能解释我为什么?你知道吗


Tags: 代码图像imgsizeerroridecv2opencv
1条回答
网友
1楼 · 发布于 2024-03-28 10:42:32

你在另一个IDE上遇到了什么样的错误?如果你做print(img),你会在另一个IDE上得到None?你知道吗

另外,如果您提供pip list,我可以看看是否可以用您当前安装的软件包重现您的错误。你知道吗

您是否尝试过为python(virtualenvAnacondaMiniconda)使用虚拟环境?使用不同版本的python和包而不与系统python冲突是一种很好的方法。你知道吗

我用Anaconda conda create -n test python=3.7 opencv jupyter上的包建立了一个新环境,并像您提到的那样在opencv中运行命令。它在我安装的以下IDE中工作:

  • Visual Studio 2019
  • Visual Studio代码
  • 喷气式飞机
  • GNU emacs公司
  • Jupyter笔记本(IPython)(不是真正的IDE)

对于每个IDE,您必须将它们指向使用您的虚拟环境设置的python解释器(我可以提供更详细的说明)。我怀疑python的设置可能与其他IDE不同。import sys; print(sys.path)可能会告诉您是否是这样。或者后端是不同的-重点是,有太多的变量,最好创建一个虚拟环境,看看你是否得到相同的错误。你知道吗

编辑:我做了一个Jupyter笔记本,你可以用来测试。如果你想看到它运行,你可以点击右上角的活页夹(or start in Colab)。关键是,如果您下载了这个笔记本并在Python环境中运行它,它应该可以工作(我在笔记本中包含了conda安装说明)。NBViewerGitHub Repository

相关问题 更多 >