cv2 imread 返回无

J.D*_*Doe 1 python opencv image-processing

我通过 pip install opencv-contrib-python-headless 安装了 cv2 库。

每当我尝试读取图像时,它都会返回 None。我尝试在路径中使用 / 代替 \,将图像存储在项目目录中,因此路径中没有 /,在路径前使用 r',重新安装包。我错过了什么吗?值得注意的是,当我使用其他库使用相同的路径读取图像时,它工作正常。

import cv2
 ## I tried all tweaks in the path
img = cv2.imread(path)
print(img)
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的路径

img = cv2.imread('image.jpg')
print(img)

img = cv2.imread(r'D:\project\image.jpg')
print(img)

img = cv2.imread(r'D:/project/image.jpg')
print(img)

img = cv2.imread('D:/project/image.jpg')
print(img)
Run Code Online (Sandbox Code Playgroud)

以上所有返回无

小智 6

我建议您再次尝试安装 CV2 或尝试检查图像地址。

如果您仍然有问题,您可以使用其他方法来读取 jpeg 图像。

正如之前的答案cv2.imread 不读取 jpg 文件中所述,您可以使用 matplotlib 代替。

import cv2
import matplotlib.pyplot as plt
img1 = plt.imread('image.jpg')
Run Code Online (Sandbox Code Playgroud)

请注意,matplotlib 中的颜色通道不同,它是 BGR。

如果您需要使用颜色,则需要交换第三个和第一个通道。

img1 = img1[..., ::-1]  # RGB --> BGR
Run Code Online (Sandbox Code Playgroud)

您可以在此处找到有关 matplotlib 的更多信息https://matplotlib.org/

希望它能解决你的问题。