OpenCV(4.5.5) :-1: error: (-5:Bad argument) in function 'resize' > Overload resolution failed: > - src is not a numerical tuple > - Expected Ptr<cv::UMat> for argument 'src'
时间: 2023-08-28 11:59:17 浏览: 457
这个错误是因为在使用OpenCV的resize函数时,参数传递有问题。根据错误提示,有两个可能的原因:
1. 'src'参数不是一个有效的图像数组。请确保你传递给resize函数的参数是一个有效的图像数组,例如使用cv2.imread()函数加载图像。
2. 'src'参数应该是一个指向cv::UMat对象的指针。如果你使用的是cv2.resize()函数而不是cv2.UMat.resize()函数,那么可能是因为你未正确导入cv2模块。
请检查你的代码,确保在调用resize函数之前,你已经正确加载了图像并导入了正确的模块。如果问题仍然存在,请提供更多的代码细节,以便我能够更好地帮助你解决问题。
相关问题
cv2.error: opencv(4.5.5) :-1: error: (-5:bad argument) in function 'cvtcolor' > overload resolution failed: > - src is not a numpy array, neither a scalar > - expected ptr<cv::umat> for argument 'src'
### 回答1:
这个错误是OpenCV中的一个问题。错误提示没有正确识别输入的数组。这可能是由于输入不是一个numpy数组或标量,或者函数需要传入一个cv::umat指针作为源参数。需要进一步检查代码并确定正确的输入类型。
### 回答2:
在使用OpenCV的过程中,出现了一个错误,错误信息显示为“cv2.error: opencv(4.5.5) :-1: error: (-5:bad argument) in function 'cvtcolor' > overload resolution failed: > - src is not a numpy array, neither a scalar > - expected ptr<cv::umat> for argument 'src'。”
这个错误是因为在调用OpenCV的“cvtColor”函数时,输入的图像数据源不是一个NumPy数组,也不是一个标量。同时,在这个函数中,第一个参数“src”应该是一个指向“cv::umat”类型的指针,而输入的值与此不符合。
要修复这个错误,首先需要检查输入的图像数据源是否正确。确保它是一个NumPy数组或标量。如果不是这两种类型,则需要将其转换为相应的类型。
其次,需要确保在调用“cvtColor”函数之前,将输入的图像数据源转换为正确的类型。可以使用OpenCV提供的函数来实现这一点。
最后,需要检查“src”参数是否正确传递。如果需要,可以使用指针或引用来确保正确的传递。
总体来说,这个错误是由于输入参数类型不当而导致的。通过正确的参数类型转换和参数传递,可以很容易地解决这个错误。
### 回答3:
出现这个错误的原因是在OpenCV的cvtColor函数中传入了错误的参数。cvtColor函数是用来处理颜色空间转换的函数,常用于将图像从一种颜色空间转换为另一种颜色空间,如RGB到灰度图像。
首先,在调用cvtColor函数时,要确保传入的图像是一个numpy array类型的矩阵,因为OpenCV在处理图像时,它会将图像转换为numpy array类型的矩阵来进行处理。
其次在函数调用中src参数需要传入一个指向cv::umat类型的指针,而不是其他类型的指针。cv::umat是OpenCV中的一种矩阵类型,它是基于C++的Mat类所实现的,用于处理图像中的像素数据。如果传入了错误的数据类型,OpenCV会无法识别并出现错误。
要解决这个错误,需要检查传入的图像是否是一个numpy array类型的矩阵。其次,要确保指针类型的参数src指向的是cv::umat类型的矩阵。如果问题仍然存在,则需要检查OpenCV的版本是否正确以及是否有适当的依赖库。
总之,在调用OpenCV库的函数时,必须是注意传入的参数类型和格式都正确,才能避免出现类似的错误。通过本错误的解决,可以更好地了解如何在Python的开发环境下使用OpenCV库从而更好地处理图像数据。
: 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'
这个问题是在使用 OpenCV 4.7.0 中的 resize 函数时出现的错误。错误信息提示“src”不是numpy数组也不是标量,同时指定了“src”参数需要传递“Ptr<cv :: UMat>”。根据错误信息,可能是在调用 resize 函数时错误地传递了“src”参数。需要检查传递给函数的数据类型并确保符合函数参数的要求。建议检查代码,并检查是否正确地创建并传递了要调整大小的图像作为“src”参数。
阅读全文