cv2是怎么.fitEllipse手柄的宽度/高度与旋转有关



宽度为50,高度为100,角度为0的椭圆与宽度为100,高度为50,角度为90的椭圆相同,即其中一个是另一个的旋转。

cv2。fitEllipse处理这个?它是否以某种规范化形式返回椭圆(例如,选择角度使宽度始终为<高度),或者它可以提供任何输出?>

当我试图确定两个适合的椭圆是否相似时,我问,我不确定我是否必须考虑这些事情。文档根本没有解决这个问题。

你可以看到在OpenCV的源代码中,fitEllipse的高度总是大于宽度。

如果宽度大于高度,则交换widthheight,并校正anglebox是定义椭圆的RotatedRect:

if( box.size.width > box.size.height )
{
    float tmp;
    CV_SWAP( box.size.width, box.size.height, tmp );
    box.angle = (float)(90 + rp[4]*180/CV_PI);
}

根据经验,我运行了匹配数千个省略号的代码,并且我从来没有得到一个返回值,其中返回的宽度大于返回的高度。因此,OpenCV似乎规范化了椭圆,使height >= width .

相关内容

  • 没有找到相关文章

最新更新