cv2.fitline_pr自动抽帧

cv2.fitline_pr自动抽帧cv::fitLine用法定义代码示例y=x+1直线y=-x+1直线定义在opencv官方文档定义如下:voidcv::fitLine(InputArraypoints,OutputArrayline,intdistType,doubleparam,doublereps,doubleaeps)#include<opencv2/imgproc.hpp>Fitsalinetoa2Dor3Dpointset.Paramet

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

定义

在opencv官方文档定义如下:

void cv::fitLine(InputArray points,
OutputArray line,
int distType,
double param,
double reps,
double aeps 
)

#include <opencv2/imgproc.hpp>
Fits a line to a 2D or 3D point set.

Parameters
points	Input vector of 2D or 3D points, stored in std::vector<> or Mat.
line	Output line parameters. In case of 2D fitting, it should be a vector of 4 elements (like Vec4f) - (vx, vy, x0, y0), where (vx, vy) is a normalized vector collinear to the line and (x0, y0) is a point on the line. In case of 3D fitting, it should be a vector of 6 elements (like Vec6f) - (vx, vy, vz, x0, y0, z0), where (vx, vy, vz) is a normalized vector collinear to the line and (x0, y0, z0) is a point on the line.
distType	Distance used by the M-estimator, see DistanceTypes
param	Numerical parameter ( C ) for some types of distances. If it is 0, an optimal value is chosen.
reps	Sufficient accuracy for the radius (distance between the coordinate origin and the line).
aeps	Sufficient accuracy for the angle. 0.01 would be a good default value for reps and aeps.

Jetbrains全家桶1年46,售后保障稳定

代码示例

简而言之,就是利用已有的点拟合直线,本篇只针对使用做简单示例,基于opencv3.4.5, C++;
主要介绍输出参数,

  • OutputArray line:在二维下为四个元素,前两个为向量(x, y),后两个为拟合直线上的一个点
  • distType,参考如下:
    //! @see distanceTransform, fitLine
    enum DistanceTypes { 
         
        DIST_USER    = -1,  //!< User defined distance
        DIST_L1      = 1,   //!< distance = |x1-x2| + |y1-y2|
        DIST_L2      = 2,   //!< the simple euclidean distance
        DIST_C       = 3,   //!< distance = max(|x1-x2|,|y1-y2|)
        DIST_L12     = 4,   //!< L1-L2 metric: distance = 2(sqrt(1+x*x/2) - 1))
        DIST_FAIR    = 5,   //!< distance = c^2(|x|/c-log(1+|x|/c)), c = 1.3998
        DIST_WELSCH  = 6,   //!< distance = c^2/2(1-exp(-(x/c)^2)), c = 2.9846
        DIST_HUBER   = 7    //!< distance = |x|<c ? x^2/2 : c(|x|-c/2), c=1.345
    };
    
  • param: 默认0,opencv自动优化
  • reps:0.01精度即可
  • aeps:建议0.01,0.01 would be a good default value…

y = x + 1直线

向量(0.707107,0.707107)如图下

控制台输出

calc_line[0]=0.707107
calc_line[0]=0.707107
calc_line[0]=1.5
calc_line[0]=2.5

y = -x + 1直线

向量(0.707107,-0.707107)

calc_line[0]=0.707107
calc_line[0]=-0.707107
calc_line[0]=1.5
calc_line[0]=1.5

Enjoy~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/234392.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号