遇到这个报错 目前总结有三个可能 第一个 图片格式不对,不能说jpeg你要改成png
第二个 图片 保存路径不对 查看自己的路径 把图片路径 修改成完整路径 或者 把图片放到和.cpp文件同一个路径
/* input and output directories */ std::string repo_dir = "/path/to/stereo_sparse_depth_fusion/"; std::string left_image_uri = repo_dir + "imgs/stereo_left.png"; std::string right_image_uri = repo_dir + "imgs/stereo_right.png"; std::string left_depth_uri = repo_dir + "imgs/gt_disparity.png"; std::string save_dir = repo_dir + "results/";这里的std::string repo_dir = “/path/to/stereo_sparse_depth_fusion/”;需要改成你的照片存放的真是的地址 我的在Ubuntu下 地址为 /home/用户名/…/stereo_sparse_depth_fusion/
第三个 可能是由于将已经是灰度图的图片转为灰度图造成的 调用代码为: import cv2 image = cv2.imread(r"E:\190307_pydemo\图片\02.png",0) gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY) 错误提示为: gray = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY) cv2.error: OpenCV(3.4.2) c:\projects\opencv-python\opencv\modules\imgproc\src\color.hpp:253: error: (-215:Assertion failed) VScn::contains(scn) && VDcn::contains(dcn) && VDepth::contains(depth) in function ‘cv::CvtHelper<struct cv::Set<3,4,-1>,struct cv::Set<1,-1,-1>,struct cv::Set<0,2,5>,2>::CvtHelper’
修改方法:cv2.imread路径后加 “,0” 时已经将图片读取为灰度图,故转换时报错。此处将image = cv2.imread(r"E:\190307_pydemo\图片\02.png",0)修改为image = cv2.imread(r"E:\190307_pydemo\图片\02.png")即可。因此,以后要注意在做图像灰度变换前,最好先判断确定待变换图像不是灰度图。 该方法借鉴了作者:https://blog.csdn.net/anyiran666/article/details/90444692