如何在cv2.imread中使用绝对路径?

How to use absolute path in cv2.imread?

我正在尝试从其绝对路径加载图像,但 cv2.imread 和 cv2.cv.LoadImage 都不起作用。

当我使用相对路径时,它工作得很好。

我已经尝试过不同的方法:

import cv2
 
#works perfectly
print(cv2.imread('larvae.png'))   

#don't work
print(cv2.imread('C:/Users/moniq/Documentos/Automação - Contagem de Larvas/larvae.png'))
#output: None

#don't work
print(cv2.imread('C:\Users\moniq\Documentos\Automação - Contagem de Larvas\larvae.png'))
#output: SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

#don't work
print(cv2.imread('C:\Users\moniq\Documentos\Automação - Contagem de Larvas\larvae.png'))
#output: None

我终于在这里找到了答案:

当路径太长时,

cv2.imread() 会悄无声息地失败,这就是我使用相对路径时它起作用的原因。

解决方案是更改读取功能。我现在使用 matplotlib 中的那个:

import matplotlib.pyplot as plt    

image = plt.imread('C:/Users/moniq/Documentos/Automação - Contagem de Larvas/larvae.png')