Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 反向鱼眼畸变_C++_Opencv_Image Processing_Distortion_Fisheye - Fatal编程技术网

C++ 反向鱼眼畸变

C++ 反向鱼眼畸变,c++,opencv,image-processing,distortion,fisheye,C++,Opencv,Image Processing,Distortion,Fisheye,我使用的是鱼眼相机,需要在进一步计算之前反转失真, 在这个问题上,这种情况正在发生 问题在于,通过这种方式,重映射函数将遍历所有点,并从中创建新图片。每帧都这样做非常耗时。 我正在寻找的方法是在鱼眼图片上进行点对点的转换,转换到正常的图片坐标 我们正在采取的方法是在输入帧上进行所有计算,然后将结果坐标转换为世界坐标,这样我们就不想遍历图片的所有点,然后从中创建一个新的点。(时间对我们来说真的很重要) 在矩阵mapx和mapy中有一些点对点的转换,但许多点没有完全转换。 我试图插值这个矩阵,但结果

我使用的是鱼眼相机,需要在进一步计算之前反转失真, 在这个问题上,这种情况正在发生

问题在于,通过这种方式,重映射函数将遍历所有点,并从中创建新图片。每帧都这样做非常耗时。 我正在寻找的方法是在鱼眼图片上进行点对点的转换,转换到正常的图片坐标

我们正在采取的方法是在输入帧上进行所有计算,然后将结果坐标转换为世界坐标,这样我们就不想遍历图片的所有点,然后从中创建一个新的点。(时间对我们来说真的很重要)

在矩阵mapx和mapy中有一些点对点的转换,但许多点没有完全转换。 我试图插值这个矩阵,但结果不是我想要的

如果您能提供任何帮助,我们将不胜感激,即使是其他比cv.Remap更省时的方法

谢谢

我想你想要的是

假设您在扭曲的图像中检测到一些点特征
扭曲
,您应该能够执行以下操作:

cv.UndistortPoints(distorted, undistorted, intrinsics, dist_coeffs)
这将允许您处理未失真的点,而无需为每一帧生成新的未失真图像。

我想您需要的是

假设您在扭曲的图像中检测到一些点特征
扭曲
,您应该能够执行以下操作:

cv.UndistortPoints(distorted, undistorted, intrinsics, dist_coeffs)

这将允许您处理未失真的点,而无需为每一帧生成新的未失真图像。

问题不清楚您是要取消图像失真,还是仅取消一组离散图像位置(可能不是整数,即具有亚像素精度)。如果是后者,则pf位置的数量是否预计比图像区域小得多?请澄清。@Francescocalari是的,你是对的,我只想得到一小部分分数,基本上,我想拾取轮廓,找到它们的中心点,然后将其移到未失真的位置,然后再移到鸟眼位置。从这个问题上看,不清楚您是想不失真一幅图像,还是仅仅是一组离散的图像位置(可能不是整数,即亚像素精度)。如果是后者,则pf位置的数量是否预计比图像区域小得多?请澄清。@Francescocalari是的,你是对的,我只想要一小部分点,基本上我想要拾取轮廓,然后找到它们的中心点,然后将其移到不变形的位置,然后再移到鸟眼位置谢谢,我查看了它。所以基本上为了找到摄像机矩阵和距离系数,我必须做棋盘游戏?为了从输入中获得鸟瞰图,我们正在做类似的事情!这是相同的过程吗?@Khashayar你如何获得你的相机和失真参数取决于你。用棋盘校准是获得它们的一种方法。由于您发布了使用它们的代码,我认为您已经有了这些数据。非常整洁。谢谢你,非常感谢,我调查过了。所以基本上为了找到摄像机矩阵和距离系数,我必须做棋盘游戏?为了从输入中获得鸟瞰图,我们正在做类似的事情!这是相同的过程吗?@Khashayar你如何获得你的相机和失真参数取决于你。用棋盘校准是获得它们的一种方法。由于您发布了使用它们的代码,我认为您已经有了这些数据。非常整洁。谢谢你。