Opencv,imag=cv2.cvtColor(imag,cv2.COLOR_BGR2GRAY) 报错:error:!_src.empty() in function ‘cv::cvtColor’

熟练使用Ctrl+C和Ctrl+V大法后

import cv2
path=r"296059.png"
imag=cv2.imdecode(np.fromfile(path),-1)
imag=cv2.cvtColor(imag,cv2.COLOR_BGR2GRAY)

运行报错:cv2.error: OpenCV(4.6.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\color.cpp:182: error: (-215:Assertion failed) !_src.empty() in function ‘cv::cvtColor’

此处:原因有很多种,可能有以下几个原因:

1.图片路径错误,可能图片路径不存在
2.要写图片后缀名
3.图片中有中文路径

如果排除以上原因,可以尝试以下方法:
解决方法1:
图像分为单通道和多通道
单通道图像,直接cv2.imread(path, 0)以单通道模式读。

import cv2
path=r"296059.png"
imag=cv2.imdecode(np.fromfile(path),-1)
imag=cv2.imread(path,0)

解决方法2:
解决方案来源于(-215:Assertion failed) !_src.empty() in function ‘cv::cvtColor‘

#读取图片
import cv2
imag = cv2.imdecode(np.fromfile(img_path, dtype=np.uint8), 1)imag = cv2.imdecode(np.fromfile(img_path, dtype=np.uint8), -1)  # 读入完整图片,见下面解释imag = cv2.imdecode(np.fromfile(img_path, dtype=np.uint8), 0)  # 读成灰度imag = cv2.imdecode(np.fromfile(img_path, dtype=np.uint8), 1)  # 读成彩图

在cv2.imdecode中补充:dtype=np.uint8,
如下解决:

import cv2
path=r"296059.png"
imag=cv2.imdecode(np.fromfile(path,dtype=np.uint8),1)
imag=cv2.cvtColor(imag,cv2.COLOR_BGR2GRAY)

Opencv中,imag=cv2.cvtColor(imag,cv2.COLOR_BGR2GRAY) 报错:error:!_src.empty() in function ‘cv::cvtColor‘相关推荐

  1. 安装32位mysql报错_在CentOS中安装32位或64位MySql报错error: Failed dependencies解决办法...

    在CentOS中安装MySql报错error: Failed dependencies解决办法 安装64位MySql报错内容如下: error: Failed dependencies: libaio ...

  2. 【Python】cv2.error: ... (-215:Assertion failed) ssize.empty() in function ‘cv::resize’ 的解决方法

    遇到了奇怪的错误: cv2.error: OpenCV(4.2.0) C:\projects\opencv-python\opencv\modules\imgproc\src\resize.cpp:4 ...

  3. Python 使用cv2模块 进入视觉识别的报错,报错信息为AttributeError: module ‘cv2.cv2‘ has no attribute ‘bgsegm

    Python 使用cv2模块 进入视觉识别的报错,报错信息为AttributeError: module 'cv2.cv2' has no attribute 'bgsegm 问题描述--cv2模块 ...

  4. OpenCV drawMatches出现报错Error: Assertion failed

    OpenCV drawMatches出现报错Error: Assertion failed (i2 >= 0 && i2 < static_cast<int>( ...

  5. Eclipse中创建SpringBoot项目流程,及报错解决方案

    Eclipse中创建SpringBoot项目流程,及报错解决方案 参考文章: (1)Eclipse中创建SpringBoot项目流程,及报错解决方案 (2)https://www.cnblogs.co ...

  6. 解决 maven 项目中加入了 lombok 库后依然报错的问题

    解决 maven 项目中加入了 lombok 库后依然报错的问题 参考文章: (1)解决 maven 项目中加入了 lombok 库后依然报错的问题 (2)https://www.cnblogs.co ...

  7. java 中for循环中重复定义的变量 为什么不报错?

    java 中for循环中重复定义的变量 为什么不报错? public class Test1 {public static void main(String[] args) {int[] arr = ...

  8. android线程改变布局,Android线程中设置控件的值提示报错的解决方法

    本文实例讲述了Android线程中设置控件的值提示报错的解决方法.分享给大家供大家参考,具体如下: 在Android线程中设置控件的值一般会与Handler联合使用,如下: package com.y ...

  9. eclipse中maven项目pom文件第一行报错解决方法

    eclipse中maven项目pom文件第一行报错解决方法 参考文章: (1)eclipse中maven项目pom文件第一行报错解决方法 (2)https://www.cnblogs.com/wxym ...

最新文章

  1. Java 学习(20)--异常 /  IO 流
  2. 关于跨域策略文件crossdomain.xml文件
  3. 单片机入门-矩阵键盘控制数码管显示
  4. proxy负载均衡、读写分离
  5. 阿里大神的刷题笔记.pdf
  6. 牛客题霸 SQL5 查找所有员工的last_name和first_name以及对应部门编号dept_no
  7. Struts2原理图
  8. 小心了!这18位数字一泄漏,支付宝账户就可能会被他人盗刷!
  9. 我的内核学习笔记13:x86平台linux系统重启流程跟踪
  10. python for everybody作业和测试答案_Python第九,十章练习题 (第五周作业)
  11. span标签的鼠标滑入提示_彻底搞懂拖拽——基于鼠标事件的拖拽以及基于HTML5 API的拖拽...
  12. mysql 深入视图和索引
  13. 第 13 章 MEncoder的基础用法
  14. 一文了解Android游戏SDK开发
  15. 计算机联锁控制台操作演示,车站计算机联锁控制台的设计.doc
  16. 实现表格隔行变色研究
  17. 常用软件分类 精选列表(一)
  18. 英语科技论文写作语法积累
  19. android 最新 九宫格,Android开发中怎么显示一个九宫格图片
  20. android学习记录(2)关于Attempt to invoke virtual method

热门文章

  1. python-django(一)
  2. Java — 慎用Executors类中newFixedThreadPool()和newCachedThreadPool()
  3. python实现自动拨打电话_twilio python自动拨打电话,播放自定义mp3音频的方法
  4. 修改Office文件的默认打开方式(含C#代码)
  5. Cobbler自动化安装系统2
  6. 如何在PowerPoint中将自定义模板设置为默认模板
  7. 如何使用Qt调试飞机大战
  8. Springboot实现拦截器功能
  9. 项目二-成员函数、友元函数和一般函数之区别
  10. 开源网安实现高效、高精度的静态应用安全检测 -CodeSec