我有一個名為negative.py的檔案在cselect檔案夾內。我使用的路徑是
image = cv.imread('images/tooth.jpeg')
高度、寬度、通道 = image.shape
錯誤:
Traceback (most recent call last):
檔案 "d:UsersiveejDesktopcspythoncselect
egative.py", line 7, in <module>
height, width, channels = image.shape
AttributeError: 'NoneType' object沒有屬性'shape'。
但是當我把路徑改為:
image = cv.imread('D:UsersiveejDesktopcspythoncselectimages ooth.jpeg')
它正在作業。
在Pycharm中兩者都能作業,但在vs代碼中不能。這是為什么呢?謝謝你的回答。
uj5u.com熱心網友回復:
這是個路徑問題。當在VS Code中運行一個腳本時,當前活動檔案夾不會改變為正在運行的腳本的檔案夾。相對路徑是相對于當前活動檔案夾的,而不是腳本所在的檔案夾。(這可能是你的專案根目錄)。
你可以 -
- 使用絕對路徑 。
- 配置VS Code,將執行檔案夾設定為與腳本相同的檔案夾 。
- 修改相對于VS Code執行檔案夾的路徑,或者 。
- 當你的腳本運行時,改變活動檔案夾 。
對于4,你可以這樣做 --
import os
path = os.path.dirname(os.path.abspath(__file__))
os.chdir(path)
這將把當前的Ative檔案夾改為包含腳本的檔案夾。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/328632.html
標籤:
上一篇:System.Diagnostics.TraceSource不向ApplicationInsights發送資料
下一篇:OpenCV讀取不可見的影像
