Invalid number of channels in input image: > 'VScn::contains(scn)' > where > 'scn' is 1

在做图片语义分割的项目,对图片数据标注后,又对数据进行扩增,然后倒入图片,进行模型训练,但是读图片的时候提示如下错误。

   image = cv2.cvtColor(cv2.imread(path,-1), cv2.COLOR_BGR2RGB)
cv2.error: OpenCV(3.4.3) /io/opencv/modules/imgproc/src/color.hpp:255: error: (-2:Unspecified error) in function 'cv::CvtHelper<VScn, VDcn, VDepth, sizePolicy>::CvtHelper(cv::InputArray, cv::OutputArray, int) [with VScn = cv::Set<3, 4>; VDcn = cv::Set<3, 4>; VDepth = cv::Set<0, 2, 5>; cv::SizePolicy sizePolicy = (cv::SizePolicy)2u; cv::InputArray = const cv::_InputArray&; cv::OutputArray = const cv::_OutputArray&]'
> Invalid number of channels in input image:
>     'VScn::contains(scn)'
> where
>     'scn' is 1

 

经分析图片数据后,发现通过数据增强得到的图片为3通道,然后再分析数据增强的代码,发现label的图集在增广时,把grayscale设置为了True,所以生成了单通道的图。

img = load_img("./nail_data_384_512_add/p4_resize_384_512/images//{}".format(filename), grayscale=False, color_mode='rgb')#生成rgb图
label = load_img("./nail_data_384_512_add/p4_resize_384_512/labels//{}".format(filename), grayscale=True, color_mode='rgb')

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章