报错原因:
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相关技术,可以点击博主头像。