如何在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')
我正在尝试从其绝对路径加载图像,但 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')