问题描述
我有一台私人电脑,我通常用它来学习 Python。 现在我出差了,我把我的项目从 github 下载到我的工作电脑上。
结构是:
- root\
- root\myScript.py
- root\images\opencv-logo.png
当我执行我的脚本以在我的私人 PC 上显示图片时,它工作得很好。 当我在工作 PC 上执行完全相同的脚本时,openCV 找不到该文件。
这是我的代码:
import cv2
template = cv2.imread("images\\opencv-logo.png")
cv2.imshow("Template",template)
cv2.waitKey(0)
我不明白为什么 python 不从它的执行中获取相对路径。 如果可以,它将适用于世界上的每台机器...... 这是否与虚拟环境或类似的东西有关?
错误信息:
cv2.error: OpenCV(4.5.1) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-wvn_it83\opencv\modules\highgui\src\window.cpp:376:错误:(-215:断言失败)函数 'cv::imshow'
中的 size.width>0 && size.height>0这显然意味着它没有找到图片 - 这与 myScript.py 执行位置的相对路径的错误使用有关。
解决方法
您可以使用 pathlib 模块来处理路径。 例如 -
heroku scale worker=0