微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

TypeError:参数'src'的预期Ptr <cv :: UMat>-Sliding_Window

如何解决TypeError:参数'src'的预期Ptr <cv :: UMat>-Sliding_Window

在Jupyter Notebook的滑动窗口中训练模型时出现以下错误

TypeError                                 Traceback (most recent call last)
<ipython-input-33-258a109a8532> in <module>
     18     index = i + startIndex
     19     img = cv2.imread('C:/Users/hp/Desktop/Mod1-IITR/test/' + str(index) + '.jpg')
---> 20     img_with_label = label_vehicles(img,X_scaler)
     21     axarr[i].imshow(img_with_label)
     22 plt.setp([a.get_xticklabels() for a in axarr[:]],visible=False)

<ipython-input-33-258a109a8532> in label_vehicles(image,X_scaler)
      1 def label_vehicles(image,X_scaler):
      2     draw_image = np.copy(image)
----> 3     draw_image = cv2.cvtColor(draw_image,cv2.COLOR_RGB2BGR)
      4     windows = slide_window(image,x_start_stop=[None,None],y_start_stop=y_start_stop)
      5     hot_windows = search_windows(image,windows,svc,X_scaler,color_space=color_space,TypeError: Expected Ptr<cv::UMat> for argument 'src'

我的代码是这个

def label_vehicles(image,X_scaler):
    draw_image = np.copy(image)
    draw_image = cv2.cvtColor(draw_image,cv2.COLOR_RGB2BGR)
    windows = slide_window(image,y_start_stop=y_start_stop)
    hot_windows = search_windows(image,spatial_size=spatial_size,hist_bins=hist_bins,orient=orient,pix_per_cell=pix_per_cell,cell_per_block=cell_per_block,hog_channel=hog_channel,spatial_feat=spatial_feat,hist_feat=hist_feat,hog_feat=hog_feat)                       

    window_img = draw_Boxes(draw_image,hot_windows,color=(0,255),thick=6)  
    return window_img

f,axarr = plt.subplots(1,1,figsize=(16,12))
startIndex = random.randint(1,40)
for i in range(7,8):
    index = i + startIndex
    img = cv2.imread('C:/Users/hp/Desktop/Mod1-IITR/test/' + str(index) + '.jpg')
    img_with_label = label_vehicles(img,X_scaler)
    axarr[i].imshow(img_with_label)
plt.setp([a.get_xticklabels() for a in axarr[:]],visible=False)
plt.setp([a.get_yticklabels() for a in axarr[:]],visible=False)
f.subplots_adjust(hspace=0)
plt.show()

我已经写了范围(7,8),因为我只想在1张图像上看到结果。我该怎么办才能解决错误

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。