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')

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