关于opencv的报错

问题遇到的现象和发生背景

imgGray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
此行代码报错,不知道怎么解决

问题相关代码,请勿粘贴截图
        responses = client.simGetImages([airsim.ImageRequest("0", airsim.ImageType.Scene, False, False)])
        response = responses[0] # get numpy array
        img1d = np.frombuffer(response.image_data_uint8, dtype='int16') 
        img1d = cv2.resize(img1d, (480, 640))
        img1d = np.array(img1d)
        img = img1d.reshape(response.height, response.width,1)
        img = np.flipud(img)
        img = cv2.resize(img, (w, h))
        img, info = findCircle(img)
def findCircle(img):
    imgGray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    imgGray = cv2.medianBlur(imgGray,5)
    circles = cv2.HoughCircles(imgGray, cv2.HOUGH_GRADIENT,1,100,param1=100,param2=30,minRadius=5,maxRadius=300)
    try:
        for i in circles[0,:]:
            cv2.circle(img,(int(i[0]), int(i[1])), int(i[2]),(0,255,0),2)
            cv2.circle(img,(int(i[0]), int(i[1])),2,(0,0,255),3)
            return img,[int(i[0]), int(i[1])]
    except:
        return img, [0,0]

运行结果及报错内容

imgGray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.error: OpenCV(4.5.4) d:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\color.simd_helpers.hpp:92: error: (-2:Unspecified error) in function '__cdecl cv::impl::anonymous-namespace'::CvtHelper<struct cv::impl::anonymous namespace'::Set<3,4,-1>,struct cv::impl::A0x694991f6::Set<1,-1,-1>,struct cv::impl::A0x694991f6::Set<0,2,5>,2>::CvtHelper(const class cv::_InputArray &,const class cv::_OutputArray &,int)'

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

cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 是将 BGR 格式的图片转换为灰度图。
这句本身没有问题,报错可以分析:(1)img 是否正确读入;(2)img 的格式是否正确。
具体的,先把 报错语句 注释掉,增加一行:print(img.shape),看看 img 的行数(高度)、列数(宽度)、通道数