今天遇到一个bug,之前都没问题,偏偏今天有问题了
yolov4目标检测 检测图片没有任何问题,这一测试视频,或是调用摄像头检测就出现了问题
报一下错误:
TypeError: Expected cv::UMat for argument 'src’
src data type = 17 is not supported
反复安装了opencv和numpy的版本一直报这个错误
后来想想,可能是数据集图片带中文的原因,于是把图片重新命名,并重新打上标签,标签也是英文的了,然后训练,训练之后发现还是有问题。
最后发现是yolo预测代码放回的结果不是直接返回图片,
images = yolo.detect_image(image)
r_image = images.get('image')
图片是装在了字典image里面
在视频调用的时候
frame = np.array(yolo.detect_image(frame))
这时需要改成
frame = yolo.detect_image(frame)
frame = np.array(frame.get('image'))
而且中文图片,中文标签没有影响。