OpenCV的vcFitLine函数

本文介绍了如何使用OpenCV的cvFitLine函数对2D或3D点集进行直线拟合,详细阐述了不同距离类型的拟合方法,并提供了代码参考链接。此外,还提到了OpenCV中随机数的生成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.youkuaiyun.com/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

以下代码是从文件中读取数据数据格式是,整形数据有空格分隔,然后用OpenCV曲线拟合显示:

#include <stdio.h>#include <cv.h>#include <highgui.h>#pragma comment(lib, "cv.lib")#pragma comment(lib, "cxcore.lib")#pragma comment(lib, "highgui.lib")void put_data_into_array(CvPoint dataarray[], CvPoint data, int n){ for(int i = 0; i < n - 1; i++)  dataarray[i] = dataarray[i+1]; dataarray[n - 1] = data;}int main(int argc, char* argv[]){ IplImage* img = cvCreateImage( cvSize( 500, 500 ), 8, 3 ); cvNamedWindow( "fitline", 1 ); CvPoint pt1, pt2; // 直线的两个端点 CvPoint* points = (CvPoint*)malloc( 6 * sizeof(points[0])); // 存放随机产生的点点,数目为count CvMat pointMat = cvMat(1, 6, CV_32SC2, points); // 点集, 存储count个随机点points float line[4];  // 输出的直线参数。2D 拟合情况下,它是包含 4 个浮点数的数组 (vx, vy, x0, y0) //其中 (vx, vy) 是线的单位向量而 (x0, y0) 是线上的某个点 float tFILE *fp = fopen("data.txt", "
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值