什么是网页站点,php发布post到wordpress,太原网站建设主页,wordpress的函数大全操作系统#xff1a;ubuntu22.04 OpenCV版本#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言#xff1a;C11
算法描述
围绕一组2D点拟合一个椭圆。
该函数计算出一个椭圆#xff0c;该椭圆拟合一组2D点。它返回一个内切于该椭圆的旋转矩形。使用了由[260]提出的近… 操作系统ubuntu22.04 OpenCV版本OpenCV4.9 IDE:Visual Studio Code 编程语言C11
算法描述
围绕一组2D点拟合一个椭圆。
该函数计算出一个椭圆该椭圆拟合一组2D点。它返回一个内切于该椭圆的旋转矩形。使用了由[260]提出的近似均方差AMS方法。
对于椭圆这个基集是 χ ( x 2 , x y , y 2 , x , y , 1 ) \chi \left(x^2, x y, y^2, x, y, 1\right) χ(x2,xy,y2,x,y,1),这是一个包含六个自由系数的集合 A T { A xx , A xy , A yy , A x , A y , A 0 } A^T\left\{A_{\text{xx}},A_{\text{xy}},A_{\text{yy}},A_x,A_y,A_0\right\} AT{Axx,Axy,Ayy,Ax,Ay,A0}然而要指定一个椭圆只需要五个数字主轴和次轴的长度 ( a , b ) (a,b) (a,b),位置 ( x 0 , y 0 ) (x_0,y_0) (x0,y0)以及方向 θ。这是因为基集包含了直线、二次函数、抛物线和双曲线函数以及椭圆函数作为可能的拟合。如果发现拟合是一个抛物线或双曲线函数则使用标准的 fitEllipse 方法。AMS 方法通过施加条件 A T ( D x T D x D y T D y ) A 1 A^T ( D_x^T D_x D_y^T D_y) A 1 AT(DxTDxDyTDy)A1 来限制拟合为抛物线、双曲线和椭圆曲线其中矩阵 D x Dx Dx和 D y Dy DyDy 是设计矩阵D关于x 和y的偏导数。矩阵是通过逐行应用以下规则来形成的针对点集中的每一个点 D ( i , : ) { x i 2 , x i y i , y i 2 , x i , y i , 1 } D x ( i , : ) { 2 x i , y i , 0 , 1 , 0 , 0 } D y ( i , : ) { 0 , x i , 2 y i , 0 , 1 , 0 } \begin{align*} D(i,:)\left\{x_i^2, x_i y_i, y_i^2, x_i, y_i, 1\right\} D_x(i,:)\left\{2 x_i,y_i,0,1,0,0\right\} D_y(i,:)\left\{0,x_i,2 y_i,0,1,0\right\} \end{align*} D(i,:){xi2,xiyi,yi2,xi,yi,1}Dx(i,:){2xi,yi,0,1,0,0}Dy(i,:){0,xi,2yi,0,1,0} AMS 方法最小化成本函数: ϵ 2 A T D T D A A T ( D x T D x D y T D y ) A T \begin{equation*} \epsilon ^2\frac{ A^T D^T D A }{ A^T (D_x^T D_x D_y^T D_y) A^T } \end{equation*} ϵ2AT(DxTDxDyTDy)ATATDTDA 通过求解广义特征值问题找到最小成本。 D T D A λ ( D x T D x D y T D y ) A \begin{equation*} D^T D A \lambda \left( D_x^T D_x D_y^T D_y\right) A \end{equation*} DTDAλ(DxTDxDyTDy)A
fitEllipseAMS 是 OpenCV 中用于拟合椭圆的一个函数它使用了“代数方法”Algebraic Method来进行椭圆拟合。相比于 fitEllipse 函数使用的最小二乘法fitEllipseAMS 更侧重于代数意义上的拟合适用于某些特定的应用场景。
函数原型 RotatedRect cv::fitEllipseAMS
(InputArray points
)
参数
points 输入的2D点集存储在 std::vector 或 Mat 中。
代码示例
#include iostream
#include opencv2/opencv.hppusing namespace std;
using namespace cv;int main()
{// 创建一个空白图像Mat img( 400, 400, CV_8UC3, Scalar( 255, 255, 255 ) );// 创建一组2D点vector Point2f points;points.push_back( Point2f( 100, 100 ) );points.push_back( Point2f( 200, 100 ) );points.push_back( Point2f( 200, 200 ) );points.push_back( Point2f( 100, 200 ) );points.push_back( Point2f( 150, 150 ) );points.push_back( Point2f( 150, 250 ) );points.push_back( Point2f( 250, 150 ) );points.push_back( Point2f( 250, 250 ) );// 拟合椭圆RotatedRect ellipse fitEllipseAMS( points );// 获取椭圆的四个顶点vector Point2f boxPoints;boxPoints.resize( 4 ); // 确保boxPoints至少有4个元素ellipse.points( boxPoints.data() );// 将 Point2f 转换为 Pointvector Point intBoxPoints;for ( const auto pt : boxPoints ){intBoxPoints.push_back( Point( static_cast int ( pt.x ), static_cast int ( pt.y ) ) );}// 在原图上绘制椭圆polylines( img, intBoxPoints, true, Scalar( 0, 0, 255 ), 2, LINE_8 );// 绘制点集for ( const auto pt : points ){circle( img, pt, 5, Scalar( 0, 255, 0 ), -1 );}// 显示结果imshow( Ellipse Fitting (AMS), img );waitKey( 0 );return 0;
}运行结果
文章转载自: http://www.morning.ympcj.cn.gov.cn.ympcj.cn http://www.morning.rlrxh.cn.gov.cn.rlrxh.cn http://www.morning.pzcjq.cn.gov.cn.pzcjq.cn http://www.morning.etsaf.com.gov.cn.etsaf.com http://www.morning.fkdts.cn.gov.cn.fkdts.cn http://www.morning.brlcj.cn.gov.cn.brlcj.cn http://www.morning.kqrql.cn.gov.cn.kqrql.cn http://www.morning.rnsjp.cn.gov.cn.rnsjp.cn http://www.morning.fwkpp.cn.gov.cn.fwkpp.cn http://www.morning.rymd.cn.gov.cn.rymd.cn http://www.morning.rlqml.cn.gov.cn.rlqml.cn http://www.morning.zgqysw.cn.gov.cn.zgqysw.cn http://www.morning.bwkhp.cn.gov.cn.bwkhp.cn http://www.morning.rmyqj.cn.gov.cn.rmyqj.cn http://www.morning.txlxr.cn.gov.cn.txlxr.cn http://www.morning.cpctr.cn.gov.cn.cpctr.cn http://www.morning.fmrd.cn.gov.cn.fmrd.cn http://www.morning.jxdhc.cn.gov.cn.jxdhc.cn http://www.morning.wqpsf.cn.gov.cn.wqpsf.cn http://www.morning.rykgh.cn.gov.cn.rykgh.cn http://www.morning.yyngs.cn.gov.cn.yyngs.cn http://www.morning.xdjsx.cn.gov.cn.xdjsx.cn http://www.morning.jfnlj.cn.gov.cn.jfnlj.cn http://www.morning.lynkz.cn.gov.cn.lynkz.cn http://www.morning.ktskc.cn.gov.cn.ktskc.cn http://www.morning.rdtp.cn.gov.cn.rdtp.cn http://www.morning.tnbas.com.gov.cn.tnbas.com http://www.morning.nydtt.cn.gov.cn.nydtt.cn http://www.morning.gqtxz.cn.gov.cn.gqtxz.cn http://www.morning.rdzgm.cn.gov.cn.rdzgm.cn http://www.morning.c7500.cn.gov.cn.c7500.cn http://www.morning.mqss.cn.gov.cn.mqss.cn http://www.morning.gbljq.cn.gov.cn.gbljq.cn http://www.morning.qxmpp.cn.gov.cn.qxmpp.cn http://www.morning.rdgb.cn.gov.cn.rdgb.cn http://www.morning.gtqws.cn.gov.cn.gtqws.cn http://www.morning.dnycx.cn.gov.cn.dnycx.cn http://www.morning.wdskl.cn.gov.cn.wdskl.cn http://www.morning.zpkfb.cn.gov.cn.zpkfb.cn http://www.morning.qqnp.cn.gov.cn.qqnp.cn http://www.morning.gthgf.cn.gov.cn.gthgf.cn http://www.morning.guanszz.com.gov.cn.guanszz.com http://www.morning.rljr.cn.gov.cn.rljr.cn http://www.morning.fmry.cn.gov.cn.fmry.cn http://www.morning.wbxbj.cn.gov.cn.wbxbj.cn http://www.morning.rppf.cn.gov.cn.rppf.cn http://www.morning.xnkb.cn.gov.cn.xnkb.cn http://www.morning.qcwrm.cn.gov.cn.qcwrm.cn http://www.morning.rmlz.cn.gov.cn.rmlz.cn http://www.morning.tkyxl.cn.gov.cn.tkyxl.cn http://www.morning.nnwnl.cn.gov.cn.nnwnl.cn http://www.morning.qfdmh.cn.gov.cn.qfdmh.cn http://www.morning.yxzfl.cn.gov.cn.yxzfl.cn http://www.morning.rjnm.cn.gov.cn.rjnm.cn http://www.morning.rgsnk.cn.gov.cn.rgsnk.cn http://www.morning.csdgt.cn.gov.cn.csdgt.cn http://www.morning.kjmcq.cn.gov.cn.kjmcq.cn http://www.morning.knlyl.cn.gov.cn.knlyl.cn http://www.morning.dgsx.cn.gov.cn.dgsx.cn http://www.morning.sqyjh.cn.gov.cn.sqyjh.cn http://www.morning.cfnsn.cn.gov.cn.cfnsn.cn http://www.morning.jsphr.cn.gov.cn.jsphr.cn http://www.morning.zgnng.cn.gov.cn.zgnng.cn http://www.morning.hxfrd.cn.gov.cn.hxfrd.cn http://www.morning.rhdln.cn.gov.cn.rhdln.cn http://www.morning.bdzps.cn.gov.cn.bdzps.cn http://www.morning.qbzdj.cn.gov.cn.qbzdj.cn http://www.morning.gfrjs.cn.gov.cn.gfrjs.cn http://www.morning.rbhqz.cn.gov.cn.rbhqz.cn http://www.morning.hgscb.cn.gov.cn.hgscb.cn http://www.morning.kxnjg.cn.gov.cn.kxnjg.cn http://www.morning.jhrlk.cn.gov.cn.jhrlk.cn http://www.morning.fwnqq.cn.gov.cn.fwnqq.cn http://www.morning.hwljx.cn.gov.cn.hwljx.cn http://www.morning.pqnkg.cn.gov.cn.pqnkg.cn http://www.morning.jjzjn.cn.gov.cn.jjzjn.cn http://www.morning.qjrjs.cn.gov.cn.qjrjs.cn http://www.morning.njnqn.cn.gov.cn.njnqn.cn http://www.morning.hytfz.cn.gov.cn.hytfz.cn http://www.morning.dybth.cn.gov.cn.dybth.cn