解决 error: (-215:Assertion failed) _src.empty() in function ‘cv::cvtColor‘

im, im_info = decode_image(im, im_info) File “D:\PyCharm\Deployment\deploy_water\python\preprocess.py”, line 34, in decode_image im = cv2.cvtColor(im, cv2.COLOR_BGR2RGB) cv2.error: OpenCV(4.5.5) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function ‘cv::cvtColor’

解决上述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)
  im = cv2.cvtColor(im, cv2.COLOR_BGR2RGB)

3. 作者报错,路径中没有中文出现,却也还是会报如上错误(这个出现的概率低,但还是可能会发生 )

解决 error: (-215:Assertion failed) _src.empty() in function ‘cv::cvtColor‘
图片路径无中文
解决 error: (-215:Assertion failed) _src.empty() in function ‘cv::cvtColor‘
图片读入有数据

因为在调试代码时发现路径没问题,而且数据似乎也是正常读入,导致作者因为这个问题卡了1个半小时,是因为作者图片传输出现了问题,图片传输时被损坏。所以大家一定要先检查cv2读入的图片是否有问题才会读入不了。

解决 error: (-215:Assertion failed) _src.empty() in function ‘cv::cvtColor‘

Original: https://blog.csdn.net/qq_37700257/article/details/124756543
Author: 锦鲤AI幸运
Title: 解决 error: (-215:Assertion failed) _src.empty() in function ‘cv::cvtColor‘

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/673215/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球