gpt4 book ai didi

python - OpenCV estimateAffine3D 失败并显示神秘的错误消息

转载 作者:太空宇宙 更新时间:2023-11-03 22:53:14 33 4
gpt4 key购买 nike

我有 2 个 3D 点云,存储在 numpy.ndarrays 中,包含 0 或 1(指示检测到的点或没有)。我想计算将“测试”数组转换为“引用”数组的仿射变换。

我这样调用函数:

import numpy as np
from cv2 import estimateAffine3D

[...] Read in the Arrays [...]

print(np.shape(Reference))
print(np.shape(Test))

AffineTransfMatrix = estimateAffine3D(Reference,Test)

我得到的输出是:

(132, 2055, 701)
(132, 2055, 701)
OpenCV Error: Assertion failed (count >= 0 && to.checkVector(3) == count) in estimateAffine3D, file /home/wenzlern/libraries/opencv/modules/calib3d/src/ptsetreg.cpp, line 513
Traceback (most recent call last):
File "/home/wenzlern/code/python/AbsorbtionSpecAnalysis/AlignEnergies.py", line 67, in <module>
estimateAffine3D(Reference,Test)
cv2.error: /home/wenzlern/libraries/opencv/modules/calib3d/src/ptsetreg.cpp:513: error: (-215) count >= 0 && to.checkVector(3) == count in function estimateAffine3D

我尝试使用 Reference/Test.astype('float32') 来处理数据类型,但无法更改结果。该文档似乎没有指定特定格式。(http://docs.opencv.org/2.4/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html#estimateaffine3d)。

有谁知道哪里会出错?我是不是遗漏了什么,或者函数调用有误?

非常感谢,尼尔斯

最佳答案

我发现,在 OpenCV 4.1.1 中,处理 dtype 不是 np.int64 的 numpy 数组也会为 estimateAffinePartial2D 和 estimateAffine2D 提供类似的错误消息:
错误:(-215:断言失败)count >= 0 && to.checkVector(2) == count in function 'estimateAffinePartial2D'

关于python - OpenCV estimateAffine3D 失败并显示神秘的错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35428739/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com