OpenCV直线拟合
2016-05-09 09:52
225 查看
——摘抄自http://blog.csdn.net/liyuanbhu/article/details/50193947
OpenCV 提供的直线拟合函数。函数原型如下:
distType 指定拟合函数的类型,可以取 CV_DIST_L2、CV_DIST_L1、CV_DIST_L12、CV_DIST_FAIR、CV_DIST_WELSCH、CV_DIST_HUBER。
param 就是 CV_DIST_FAIR、CV_DIST_WELSCH、CV_DIST_HUBER 公式中的C。如果取 0,则程序自动选取合适的值。
reps 表示直线到原点距离的精度,建议取 0.01。
aeps 表示直线角度的精度,建议取 0.01。
计算出的直线信息存放在 line 中,为 cv::Vec4f 类型。line[0]、line[1] 存放的是直线的方向向量。line[2]、line[3] 存放的是直线上一个点的坐标。
如果直线用 y=kx+b 来表示,那么 k = line[1]/line[0],b = line[3] - k * line[2]。
如果直线用 ρ=xcosθ+ysinθ 来表示, 那么 θ=arctank+π2
OpenCV 提供的直线拟合函数。函数原型如下:
void fitLine( InputArray points, OutputArray line, int distType, double param, double reps, double aeps );
distType 指定拟合函数的类型,可以取 CV_DIST_L2、CV_DIST_L1、CV_DIST_L12、CV_DIST_FAIR、CV_DIST_WELSCH、CV_DIST_HUBER。
param 就是 CV_DIST_FAIR、CV_DIST_WELSCH、CV_DIST_HUBER 公式中的C。如果取 0,则程序自动选取合适的值。
reps 表示直线到原点距离的精度,建议取 0.01。
aeps 表示直线角度的精度,建议取 0.01。
计算出的直线信息存放在 line 中,为 cv::Vec4f 类型。line[0]、line[1] 存放的是直线的方向向量。line[2]、line[3] 存放的是直线上一个点的坐标。
如果直线用 y=kx+b 来表示,那么 k = line[1]/line[0],b = line[3] - k * line[2]。
如果直线用 ρ=xcosθ+ysinθ 来表示, 那么 θ=arctank+π2
相关文章推荐
- Centos 添加静态路由及 SIOCADDRT错误处理
- 企业网站,个人博客,白帽SEO正规优化心得分享
- OpenCV 序列CvSeq
- Tomcat长出现的内存溢出问题
- Linux下jmap命令查看内存使用
- Openstack安全组与conntrack简介
- 每天一个Linux命令(11)nl命令
- tomcat8 配置过程 JRE_HOME错误等
- centos7 上mysql的管理
- Linux下编译带x264的ffmpeg的方法
- Linux系统下搭建Java环境+eclipse
- linux-防火墙iptables
- OpenCV中感兴趣区域的选取与检测(一)
- Centos6下Codis集群的搭建与使用(一)
- linux-搭建CDA数字证书
- 1.1 背景相关与系统架构
- linux-selinux安全防护,加密解密
- Centos6下Codis集群的搭建与使用(二)
- CentOS 7系统详细开机启动流程和关机流程
- 重复调用ab命令的shell代码和整理ab结果的java代码