error: OpenCV(3.4.18) :-1: error: (-5:Bad argument) in function 'imshow' > Overload resolution failed: > - mat is not a numerical tuple > - Expected Ptr<cv::UMat> for argument 'mat'
时间: 2023-08-28 18:18:14 浏览: 338
这个错误是由于 `imshow` 函数的参数类型不正确导致的。在使用 `imshow` 函数时,它的参数应该是一个图像的名称和一个图像的 `Mat` 对象。因此,你需要确保你传递给 `imshow` 函数的第一个参数是一个字符串类型的图像名称,第二个参数是一个 `Mat` 类型的图像对象。
如果你的代码中已经使用了正确的参数类型,那么可能是因为你的图像对象并不是 `Mat` 类型,而是 `UMat` 类型。在这种情况下,你需要将图像对象转换为 `Mat` 类型,然后再传递给 `imshow` 函数。你可以使用 `Mat::getMat` 函数来实现这个转换,例如:
```
cv::UMat umat_image;
cv::Mat mat_image = umat_image.getMat(cv::ACCESS_READ);
cv::imshow("Image", mat_image);
```
这应该能够解决你遇到的问题。
相关问题
cv2.error: OpenCV(4.7.0) :-1: error: (-5:Bad argument) in function 'imshow' > Overload resolution failed: > - mat is not a numerical tuple > - Expected Ptr<cv::cuda::GpuMat> for argument 'mat' > - Expected Ptr<cv::UMat> for argument 'mat'
这个错误通常是由于 imshow() 函数传递了错误的参数导致的,具体原因可能是图像数据类型不匹配、图像大小不匹配,或者是传入的参数为空值等。建议您检查一下代码中传递给 imshow() 函数的参数是否正确,也可以尝试使用其他函数或方法来显示图像,比如 cv2.namedWindow() 和 cv2.imshow()。如果问题仍然存在,可以尝试更新或重新安装 OpenCV 库,或者查看一下 OpenCV 官方文档以获得更多帮助。
error: OpenCV(4.5.5) :-1: error: (-5:Bad argument) in function 'imshow' > Overload resolution failed: > - imshow() missing required argument 'mat' (pos 2) > - imshow() missing required argument 'mat' (pos 2) > - imshow() missing required argument 'mat' (pos 2)
这个错误信息是 OpenCV 库中 imshow 函数的错误。它说明在调用 imshow 函数时,没有传递正确的参数。
通常情况下,imshow 函数应该传递两个参数:窗口名称和要显示的图像。如果在调用 imshow 函数时没有传递这些参数,则会出现这个错误。
解决这个问题的方法是检查 imshow 函数调用是否正确,确保两个参数都正确传递。此外,还需要确保传递给 imshow 函数的图像参数正确加载,且未被修改。如果仍然无法解决问题,可以尝试使用不同的图像库或者更新 OpenCV 库版本。
阅读全文
相关推荐
















