TypeError: Expected cv::UMat for argument 'src'
时间: 2024-05-21 15:16:12 浏览: 138
这是一个OpenCV的错误。它表示你传递给函数的参数类型应该是cv::UMat,但你传递的实参类型不正确。通常这个错误发生在你使用cv::Mat替代cv::UMat时。这可能是因为你的OpenCV版本太旧,或者你的代码中存在其他问题。请检查你的代码,确保你正在正确地使用OpenCV函数,并使用正确的参数类型。如果问题仍然存在,请尝试更新你的OpenCV版本。
相关问题
上边代码运行报错qr_img_cv = cv2.cvtColor(np.asarray(qr_img), cv2.COLOR_RGB2BGR) TypeError: Expected Ptr<cv::UMat> for argument '%s'怎么解决
这个错误通常是因为传入cv2.cvtColor()函数的参数类型不正确所导致的。可以尝试将参数转换为正确的类型。
具体而言,这个错误可能与qr_img的类型有关。可以将其转换为numpy数组,然后再传给cv2.cvtColor()函数。具体代码如下:
```
qr_img_numpy = np.array(qr_img)
qr_img_cv = cv2.cvtColor(qr_img_numpy, cv2.COLOR_RGB2BGR)
```
这里,我们首先使用numpy数组将qr_img转换为numpy数组qr_img_numpy,然后再将qr_img_numpy传递给cv2.cvtColor()函数。
希望能对你有所帮助!
in <module> qr_img_cv = cv2.cvtColor(np.asarray(qr_img), cv2.COLOR_RGB2BGR) TypeError: Expected Ptr<cv::UMat> for argument '%s'怎么修改
根据报错信息,是因为cv2.cvtColor()函数的第一个参数类型不正确所导致的。这里需要将np.asarray(qr_img)的返回值转换为cv2.UMat类型。
可以尝试使用cv2.UMat()函数将np.asarray(qr_img)转换为cv2.UMat类型的对象。具体代码如下:
```
qr_img_cv = cv2.cvtColor(cv2.UMat(np.asarray(qr_img)), cv2.COLOR_RGB2BGR)
```
这里,我们首先使用np.asarray()函数将qr_img转换为numpy数组,然后使用cv2.UMat()函数将其转换为cv2.UMat类型的对象。最后,我们将cv2.UMat类型的对象传递给cv2.cvtColor()函数。
希望这个方法能够解决你的问题!
阅读全文