Opencv 可以透视将椭圆变换成圆吗?

Opencv 可以透视将椭圆变换成圆吗?,opencv,computer-vision,geometry,multiview,Opencv,Computer Vision,Geometry,Multiview,对于一个项目,我需要存储一些照片上检测到的圆圈。问题是有些照片是从一个角度拍摄的,这意味着这些圆是椭圆。有可能把椭圆变成圆吗 我想矫正椭圆,然后把矩形变成正方形。我想到了一个不确定的问题,这意味着我的方法有太多可能的变化,并且每种方法的结果都不同。要找到透视变换,你需要有4对对应的坐标:扭曲图片上的点和校正透视后的理想位置 在这种情况下,您可以使用getPerspectiveTransform函数计算透视变换矩阵,并将其应用于校正所有图片 在这种情况下,要找到4个点,可以使用fitEllipse

对于一个项目,我需要存储一些照片上检测到的圆圈。问题是有些照片是从一个角度拍摄的,这意味着这些圆是椭圆。有可能把椭圆变成圆吗


我想矫正椭圆,然后把矩形变成正方形。我想到了一个不确定的问题,这意味着我的方法有太多可能的变化,并且每种方法的结果都不同。

要找到透视变换,你需要有4对对应的坐标:扭曲图片上的点和校正透视后的理想位置


在这种情况下,您可以使用
getPerspectiveTransform
函数计算透视变换矩阵,并将其应用于校正所有图片

在这种情况下,要找到4个点,可以使用fitEllipse或Minareact,但变换圆的中心可能不是椭圆的中心,因此扭曲的图像可能与原始真实圆不完全相同……请向我们展示图片,否则任何答案都可能毫无意义。“储存圈”也没有什么意义。它只是保持中心/半径??透视投影圆不是椭圆!!!有点像椭圆的形状。。。取消投影后,您将再次获得圆,但为此,您需要知道透视矩阵(因此使用的FOVx、FOVy和相机焦距)以及点的距离。。。然而,你可以估计圆所在的平面,这就足以拟合投影后适合你形状的圆。。。。有关其他想法,请参阅