cv2.imshow('img', img) cv2.error: OpenCV(4.7.0) :-1: error: (-5:Bad argument) in function 'imshow' > Overload resolution failed: > - mat is not a numpy array, neither a scalar > - Expected Ptr<cv::cuda::GpuMat> for argument 'mat' > - Expected Ptr<cv::UMat> for argument 'mat'
时间: 2023-08-28 19:28:35 浏览: 124
这个错误通常是由于传递给 `cv2.imshow()` 函数的图像格式不正确引起的。这个函数需要一个 Numpy 数组(或者 OpenCV 的 Mat 对象)作为输入,但是您传递了一个其他类型的对象,例如非数组类型的对象或者 GPU 加速的 Mat 对象。
要解决这个问题,您可以确保传递给 `cv2.imshow()` 函数的图像是一个 Numpy 数组或 OpenCV 的 Mat 对象。您可以使用 `type()` 函数来检查传递的图像对象的类型,确保它是您期望的类型。例如,您可以将代码修改为:
```
import cv2
import numpy as np
img = cv2.imread('image.jpg')
if isinstance(img, np.ndarray):
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
else:
print('Error: Input image is not a Numpy array or Mat object.')
```
这样就可以确保传递给 `cv2.imshow()` 函数的图像是一个 Numpy 数组或 OpenCV 的 Mat 对象,避免出现该错误。
相关问题
cv2.error: OpenCV(4.7.0) :-1: error: (-5:Bad argument) in function 'imshow'
这个错误可能是因为你给 `cv2.imshow()` 函数传递了错误的参数。请确保你传递给 `cv2.imshow()` 函数的第一个参数是窗口的名称,第二个参数是要显示的图像。例如:
```
import cv2
img = cv2.imread('image.jpg')
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个例子中,我们首先使用 `cv2.imread()` 函数读取图像,然后将其传递给 `cv2.imshow()` 函数来显示图像。注意,第一个参数 `'image'` 是窗口的名称,第二个参数是要显示的图像 `img`。最后,我们使用 `cv2.waitKey()` 函数等待用户按下任意键,然后使用 `cv2.destroyAllWindows()` 函数关闭窗口。
opencv 报错cv2.error: OpenCV(4.7.0) :-1: error: (-5:Bad argument) in function 'imshow'
这个报错信息通常是因为 `imshow` 函数参数传递错误导致的。请检查一下你的代码,确保你传递给 `imshow` 函数的参数是正确的。具体来说,`imshow` 函数第一个参数应该是窗口的名称,第二个参数是要显示的图像。同时,还需要注意以下几点:
1. 窗口名称不能包含空格或特殊字符;
2. 图像必须是 OpenCV 支持的格式,如 BGR、RGB 等;
3. 图像大小不能超过屏幕大小。
如果你已经检查过代码,仍然无法解决问题,可以尝试将报错信息和相关代码提供出来,这样更容易找到问题所在。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)