【1】Ubuntu环境下OpenCV读取图片出错。报错:cv2.error: OpenCV(4.5.4) ./modules/imgproc/src/color.cpp:182

项目场景:

在Ubuntu环境下,运行ROS2代码,获取照片时报错,如下代码所示

cv2.error: OpenCV(4.5.4) ./modules/imgproc/src/color.cpp:182: error: (-215:Assertion failed)
 !_src.empty() in function 'cvtColor'

问题描述

查看使用OpenCV获取图像的路径

image = cv2.imread('/home/chen/dev_ws/src/ros2_21_tutorials/learning_node/learning_node/apple.jpg')  
# 读取图像

原因分析:

出现如上报错的原因很简单,有以下两种情况:
1.第一种比较常见,就是文件路径错误,导致读取不到照片,仔细看自己的文件路径,看看是否真的可以定位到想要获取到的图片,一般来说,文件路径不可以含有中文,并且留意一下图片格式,jpg和png等都有影响,当png读取失败时,建议使用jpg图片格式。
2.第二种就是我遇到的情况,我是在Ubuntu系统下跑ROS2,使用的开发软件是Vscode,在终端中输入下列代码完成代码编译,在终端中运行程序仍出现报错,且我的路径并没有问题

$ colcon build

很有可能是在修改路径代码后没有保存,导致build文件夹中的程序没有更新,此时再去运行程序仍是路径更新之前的,解决方法很简单,在修改完代码后,Ctrl+S保存,此时在运行colcon build完成编译,问题得到解决

程序报错:
【1】Ubuntu环境下OpenCV读取图片出错。报错:cv2.error: OpenCV(4.5.4) ./modules/imgproc/src/color.cpp:182_第1张图片
修改照片地址,并Ctrl+S保存
【1】Ubuntu环境下OpenCV读取图片出错。报错:cv2.error: OpenCV(4.5.4) ./modules/imgproc/src/color.cpp:182_第2张图片
重新bulid一下代码
【1】Ubuntu环境下OpenCV读取图片出错。报错:cv2.error: OpenCV(4.5.4) ./modules/imgproc/src/color.cpp:182_第3张图片
读取到图片,完成图像处理
【1】Ubuntu环境下OpenCV读取图片出错。报错:cv2.error: OpenCV(4.5.4) ./modules/imgproc/src/color.cpp:182_第4张图片

你可能感兴趣的:(#,ROS2代码报错问题及解决,ROS2机器人操作系统学习,opencv,python,ubuntu)