项目场景:
在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完成编译,问题得到解决
程序报错:
修改照片地址,并Ctrl+S保存
重新bulid一下代码
读取到图片,完成图像处理
版权声明:本文为weixin_46444742原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。