: OpenCV(4.7.0) :-1: error: (-5:Bad argument) in function 'resize' > Overload resolution failed: > - src is not a numpy array, neither a scalar > - Expected Ptr<cv::UMat> for argument 'src'
时间: 2023-06-11 12:05:21 浏览: 554
这个问题是在使用 OpenCV 4.7.0 中的 resize 函数时出现的错误。错误信息提示“src”不是numpy数组也不是标量,同时指定了“src”参数需要传递“Ptr<cv :: UMat>”。根据错误信息,可能是在调用 resize 函数时错误地传递了“src”参数。需要检查传递给函数的数据类型并确保符合函数参数的要求。建议检查代码,并检查是否正确地创建并传递了要调整大小的图像作为“src”参数。
相关问题
cv2.error: OpenCV(4.7.0) :-1: error: (-5:Bad argument) in function 'resize' > Overload resolution failed: > - src data type = 17 is not supported > - Expected Ptr<cv::UMat> for argument 'src'
这个错误是由于OpenCV中的resize函数无法处理输入图像的数据类型所导致的。这个错误信息中提到了输入图像的数据类型为17,这表示输入图像的数据类型不被支持。您需要确保输入图像的数据类型是OpenCV支持的类型之一,例如CV_8UC1、CV_8UC3或CV_32FC1等。您还需要检查您的代码是否正确地将输入图像传递给resize函数,并且输入图像的宽度和高度是否符合函数的要求。如果您仍然无法解决问题,请提供更多的代码和上下文,以便更好地理解问题。
cv2.error: OpenCV(4.7.0) :-1: error: (-5:Bad argument) in function 'fitEllipse' > Overload resolution failed: > - points is not a numerical tuple > - Expected Ptr<cv::UMat> for argument 'points'
这个错误是因为你传递给 `fitEllipse` 函数的参数 `points` 不是一个数值元组或指针类型的数据。
请确保你传递给 `fitEllipse` 函数的参数是一个数值元组,例如:
```python
import cv2
# 读取图像并将其转换为灰度图像
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 检测边缘
edges = cv2.Canny(gray, 100, 200)
# 拟合椭圆
ellipse = cv2.fitEllipse(cv2.findNonZero(edges))
```
如果你的参数类型不是数值元组,请尝试将其转换为正确的类型。
阅读全文