解决上述error和cv2.imdecode(data, 1)=None
相信大家也都能在各大平台找到这样错误的帖子,大多数说的是以下原因,总结:
1. 图片路径中有中文,导致cv2读入有问题,修改为全是中文的也是如此,然后有的同学写的是相对路径里面没有中文,要注意的是在相对路径里面没有,在绝对路径下同样也要没有!!!
因为底层代码会可能给你转成绝对路径,这样就可能读者传入的是相对路径且没有中文,却被隐式转换了绝对路径,也会报上述错误。总之,图片的绝对路径里面不能有中文。
2. 针对与上面的中文路径来说,可以如下读入图片路径,使得其兼容中文路径。
with open(im_file, 'rb') as f:
im_read = f.read()
data = np.frombuffer(im_read, dtype='uint8')
im = cv2.imdecode(data, 1) # BGR mode, but need RGB mode
im = cv2.cvtColor(im, cv2.COLOR_BGR2RGB)
3. 作者报错,路径中没有中文出现,却也还是会报如上错误(这个出现的概率低,但还是可能会发生 )
图片路径无中文
图片读入有数据文章来源:https://www.toymoban.com/news/detail-450786.html
因为在调试代码时发现路径没问题,而且数据似乎也是正常读入,导致作者因为这个问题卡了1个半小时,是因为作者图片传输出现了问题,图片传输时被损坏。所以大家一定要先检查cv2读入的图片是否有问题才会读入不了。
文章来源地址https://www.toymoban.com/news/detail-450786.html
到了这里,关于解决 error: (-215:Assertion failed) _src.empty() in function ‘cv::cvtColor‘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!