我已经验证了我的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)`
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()
它工作,但有点滞后相比,闲置,有人能解释我为什么?你知道吗
你在另一个IDE上遇到了什么样的错误?如果你做
print(img)
,你会在另一个IDE上得到None
?你知道吗另外,如果您提供
pip list
,我可以看看是否可以用您当前安装的软件包重现您的错误。你知道吗您是否尝试过为python(virtualenv、Anaconda或Miniconda)使用虚拟环境?使用不同版本的python和包而不与系统python冲突是一种很好的方法。你知道吗
我用Anaconda
conda create -n test python=3.7 opencv jupyter
上的包建立了一个新环境,并像您提到的那样在opencv中运行命令。它在我安装的以下IDE中工作:对于每个IDE,您必须将它们指向使用您的虚拟环境设置的python解释器(我可以提供更详细的说明)。我怀疑python的设置可能与其他IDE不同。
import sys; print(sys.path)
可能会告诉您是否是这样。或者后端是不同的-重点是,有太多的变量,最好创建一个虚拟环境,看看你是否得到相同的错误。你知道吗编辑:我做了一个Jupyter笔记本,你可以用来测试。如果你想看到它运行,你可以点击右上角的活页夹(or start in Colab)。关键是,如果您下载了这个笔记本并在Python环境中运行它,它应该可以工作(我在笔记本中包含了conda安装说明)。NBViewer,GitHub Repository
相关问题 更多 >
编程相关推荐