Python opencv 库cv.imread()读取图片为空None,cv.imshow()报错:error: (-215:Assertion failed) _src.empty() in ..

报错原因:

         cv.imread()读取图片为空None,原因很大可能是路径有问题,要么是在路径下找不到图片,要么就是路径中包含有中文(特别要注意是不是路径含有中文);图片读取为空从而导致了在显示图片时cv.imshow()会报错:error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'。

解决办法:

        1.一个最简单的解决办法就是把路径中的中文全部改成英文就可以了。

2.如果不愿修改路径中的中文,可以加入中文编码来读取图片,具体使用方法参照下面代码:

# 导入相关库
import cv2 as cv
import numpy as np

# 图片路径
img_path = r"C:\Users\Desktop\图片\天空.jpg"
# 读取图片
img = cv.imdecode(np.fromfile(img_path, dtype=np.uint8), 1)
print(img)    # 打印图片对象
# 显示图片
cv.imshow("image", img)
cv.waitKey(0)    # 按任意键退出图片显示

        至此,你的问题应该解决了。如果想学习或交流更多python相关技术,可以点击博主头像。

你可能感兴趣的:(opencv,python,计算机视觉)