【问题标题】:type assertion failed. type == CV_8UC1 || stype == CV_16SC1 || stype == CV_32SC1 || stype == CV_32FC1 in function类型断言失败。类型 == CV_8UC1 || stype == CV_16SC1 || stype == CV_32SC1 || stype == CV_32FC1 在函数中
【发布时间】:2020-08-21 23:52:44
【问题描述】:

我在 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'

为什么会这样以及如何解决这个问题?

【问题讨论】:

  • 请提供预期的minimal, reproducible example。请包括所有符号定义(您至少缺少两个import 语句)和一个公共域输入文件。还要跟踪你的论点的类型;与记录的要求进行比较。
  • 代码对你有用吗?
  • 断言声明源类型必须是单通道图像,因此可能您传递的是 3 通道图像。

标签: python opencv


【解决方案1】:

你可以看到这个答案:

OpenCV: Error when using function cvGoodFeaturesToTrack

您可能需要先使用以下方法对图像进行灰度化:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    相关资源
    最近更新 更多