如何解决具有形状map1h,w,2和形状map2h,w的地图的OpenCV Remap
当cv2.remap(img,map1,map2,interpolation=cv2.INTER_LINEAR)
的形状为map1
而(h,w,2)
的形状为map2
时,(h,w)
会做什么。
这些映射作为对cv2.fisheye.initUndistortRectifyMap
的输出,但是文档不是很清楚。如果将map2
的变量numpy.array([],dtype=np.int16)
更改为map2
,它仍然会为我提供接近输出的输出,而不会省略cv2.remap
,但存在差异。
在此过程中,img
是否更改了node.geometry?.firstmaterial?.diffuse.contents = #imageLiteral(resourceName: “yourimagename”)
的数据类型?
解决方法
是的,遗憾的是文档尚不清楚。但是,如果您查看cv2.remap
和
cv2.computeMaps
告诉您它们的实际含义。
总而言之,cv2.fisheye.initUndistortRectifyMap
的输出提供了两个映射,其中第一个映射是两个通道矩阵,其中第一个通道是x
坐标,第二个通道是y
坐标用于重新映射。现在不同的是,这是定点精度的结果,而不是典型的浮点精度矩阵。定点主要用于计算重新映射的图像时的计算速度。第二张地图是一张插值系数表,因此当您与第一张地图一起使用时,与使用常规浮点精度矩阵相比,它提供的结果几乎相同,但节省了大量计算。
通过省略第二张地图,您仍然会得到不错的结果,但是第二张地图为空会导致精度损失,因为您没有提供插值表来生成如果使用浮点精度会创建的内容地图。这就是为什么您要查看质量稍差的图像。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。