python中imread的相对路径

Muj*_*izi 1 python opencv

我无法设置 DSC_1902.JPG 图像(在“Res”目录中)的相对路径imread。以下是我的项目结构:

BasicAI服务器/Res/DSC_1902.JPG

BasicAI服务器/Computer_Vision/FD.py

以下代码位于FD.py

import cv2
def detect():

    img = cv2.imread('\BasicAI Server\Res\DSC_1902.JPG')
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

detect()
Run Code Online (Sandbox Code Playgroud)

sga*_*zvi 7

最好通过使用os.path.join函数构建独立于平台的路径字符串来避免路径中出现斜杠。

可以使用模块中的函数path.join和将相对路径转换为绝对路径,如下所示:getcwdos

import cv2
import os
def detect():
    absolute_path = os.path.join(os.getcwd(), 'BasicAI Server', 'Res', 'DSC_1902.JPG');
    img = cv2.imread(absolute_path)
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

detect()
Run Code Online (Sandbox Code Playgroud)

如果代码是从BasicAI Server目录的父目录执行的,那么这将起作用。