Python 具有另一个数据类型的OpenCV透视图
我有一张图片和一张属于该图片的深度贴图,我需要有每个像素的深度(我使用的是kinect)。我想用这张图片和它的深度创建一个全景视图,所以我使用了一些opencv方法。尤其是这条线路,目前正引起问题:Python 具有另一个数据类型的OpenCV透视图,python,numpy,opencv,Python,Numpy,Opencv,我有一张图片和一张属于该图片的深度贴图,我需要有每个像素的深度(我使用的是kinect)。我想用这张图片和它的深度创建一个全景视图,所以我使用了一些opencv方法。尤其是这条线路,目前正引起问题: result = cv2.warpPerspective(imageA, H, (imageA.shape[1] + imageB.shape[1], imageA.shape[0])) 这里的问题是,depthmap不使用8位表示来指示像素的深度。它是一个32位整数。我在这里遇到的问题是,这个c
result = cv2.warpPerspective(imageA, H, (imageA.shape[1] + imageB.shape[1], imageA.shape[0]))
这里的问题是,depthmap不使用8位表示来指示像素的深度。它是一个32位整数。我在这里遇到的问题是,这个cv2.warpPerspective()
方法不希望采用这种数据类型。这是引发的错误:
TypeError:不支持src数据类型=8
我可以将其转换为8位,但这样会丢失太多信息,我无法承受在深度上丢失那么多精度。当我把它转换成8位时,我知道它能工作。所以我猜我需要一个解决方法,但我不确定如何解决。不是不想采用这种数据类型。它通常是OpenCV,因为不支持无符号32位整数的数组
你可以有:
- 8位整数,有符号和无符号
- 16位整数,有符号和无符号
- 32位整数,仅带符号
- 32位浮点
- 64位浮点
numpy
库的数组(由pythonapi使用)在功能上更加灵活。不幸的是,当它们被传递到OpenCV函数时,这有时会导致相当模糊的错误
不幸的是,使用32位有符号整数也是不可能的,因为(用于执行实际转换的)似乎不支持它们。但是,它支持所有其他6种可用类型。根据depthmap值的实际范围,16位整数或其中一个浮点选项就可以了。不是不想采用此数据类型。它通常是OpenCV,因为不支持无符号32位整数的数组 你可以有:
- 8位整数,有符号和无符号
- 16位整数,有符号和无符号
- 32位整数,仅带符号
- 32位浮点
- 64位浮点
numpy
库的数组(由pythonapi使用)在功能上更加灵活。不幸的是,当它们被传递到OpenCV函数时,这有时会导致相当模糊的错误
不幸的是,使用32位有符号整数也是不可能的,因为(用于执行实际转换的)似乎不支持它们。但是,它支持所有其他6种可用类型。根据depthmap值的实际范围,16位整数或一个浮点选项都可以。我现在使用了几种不同的方法,没有一种是完美的,但我会做到的,谢谢你提供的信息。我现在使用了几种不同的方法,没有一种是完美的,但我会做到的,谢谢你提供的信息。