vscode中python:
在VSCode中用anaconde虚拟环境运行代码(.py文件)
raceback (most recent call last):
File “d:/Project/opencv-python/.py/1.py”, line 5, in
cv2.imshow(“11”,img)
cv2.error: OpenCV(3.4.2) C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:356: error: (-215:Assertion failed) size.width>0 && size.height>0 in function ‘cv::imshow’
终端:
例如:如果代码文件在深层目录,需要cd进入那个文件夹才能运行代码,否则报错
错误描述
import cv2
img = cv2.imread("1.jpg")
cv2.imshow("dasd", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
print("成功。。。")
上面是测试代码
代码文件路径 (opencv/test/2.py)
如下
下面是终端报错信息
PS D:\Project\opencv> D:/Program/anaconda3/Scripts/activate
PS D:\Project\opencv> conda activate opencv
PS D:\Project\opencv> D:/Program/anaconda3/envs/opencv/python.exe d:/Project/opencv/test/2.py
Traceback (most recent call last):
File "d:/Project/opencv/test/2.py", line 4, in <module>
cv2.imshow("dasd", img)
cv2.error: OpenCV(3.4.2) C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:356: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'
cd 进入test文件夹之后代码才能正常运行
下面是结果
PS D:\Project\opencv> cd test
PS D:\Project\opencv\test> D:/Program/anaconda3/envs/opencv/python.exe d:/Project/opencv/test/2.py
成功。。。
PS D:\Project\opencv\test>
提示:这里填写问题的分析:img = cv2.imread(“1.jpg”)这个语句里面的先对路径原因
在vscode中设置的相对路径与pycharm中不同,
在vscode .py文件里面的相对路径是相对于OPENCV文件夹,不是相对于1.py所在的文件夹
所以需要这样设置img = cv2.imread(“test/1.png”),是因为vscode运行代码是直接在终端上运行,
终端上的路径到…\opencv,所以相对路径设置相对于整个文件夹。