类型断言失败.type==CV_8UC1||stype==CV_16SC1||stype==CV_32SC1||styp



我在opencv 4.3.0中有以下代码:

import cv2
import numpy as np
img = cv2.imread("disp.png")
persp_trans = np.random.rand(4,4)
print(cv2.reprojectImageTo3D(img, persp_trans))

我得到了错误:

<class 'numpy.ndarray'>
<class 'numpy.ndarray'>
Traceback (most recent call last):
File "disp_3d.py", line 26, in <module>
print(cv2.reprojectImageTo3D(img, persp_trans))
cv2.error: OpenCV(4.3.0) /Users/travis/build/skvark/opencv-python/opencv/modules/calib3d/src/calibration.cpp:2990: error: (-215:Assertion failed) stype == CV_8UC1 || stype == CV_16SC1 || stype == CV_32SC1 || stype == CV_32FC1 in function 'reprojectImageTo3D'

为什么会这样,以及如何解决?

您可以看到这个答案:

OpenCV:使用函数cvGoodFeaturesToTrack 时出错

您可能需要首先使用对图像进行灰度处理

gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

最新更新