社区
图形处理/算法
帖子详情
最小二乘算法的延伸...(离散点拟合十字线)
xinaideren2002
2007-01-16 11:31:10
目前问题描述:
一字线:由若干个离散的点组成一条直线(可由最小二乘算法拟合而成直线方程式)
十字线:由若干个离散的点组成一把叉(十字线,交叉线)
问题来了:
1.怎么确定十字线离散点的四个顶点.....
2.如何将十字线的离散点分成二条一字线(估计无法分离开来)
3.最终目的是,将十字形式的离散点,转换成两条相交直线方程式)
敬请各位提出宝贵意见,分不够,再加!
...全文
747
13
打赏
收藏
最小二乘算法的延伸...(离散点拟合十字线)
目前问题描述: 一字线:由若干个离散的点组成一条直线(可由最小二乘算法拟合而成直线方程式) 十字线:由若干个离散的点组成一把叉(十字线,交叉线) 问题来了: 1.怎么确定十字线离散点的四个顶点..... 2.如何将十字线的离散点分成二条一字线(估计无法分离开来) 3.最终目的是,将十字形式的离散点,转换成两条相交直线方程式) 敬请各位提出宝贵意见,分不够,再加!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
e_feeling
2007-04-09
打赏
举报
回复
gz
chehw
2007-01-18
打赏
举报
回复
注:
算法实现时可使用 θ=arctan(k) 替代k值,使取值范围收敛于(-π/2, π/2)
此时,θ(n)-θ(1)有两种情况,
1、约等于0: 标记为第一条直线上的点;
2、不约等于0:标记为第二条直线上的点。
xinaideren2002
2007-01-18
打赏
举报
回复
chehw(chehw) 的算法看起来应该可以行得通...
先试试...
xinaideren2002
2007-01-18
打赏
举报
回复
HUNTON(追求完美):
这样的话,取到交点时,就不知道往哪个方向走了....(四个方向都有离散点)
我有以下几个想法:
1.取出十字线的交点(根据交点上下左右都有点的特征),然后再取任意点与交点构成的斜率(将会产生两个近似值)约等于K1时,属于Line1,约等于K2时,属于Line2;
2.取出十字线的交点,再以同心圆的方式去切,切出四点或四点以上(1,3组合构成直线)(2,4结合构成直线)
chehw
2007-01-17
打赏
举报
回复
此方法不适用于二条直线夹角过小的情况.
chehw
2007-01-17
打赏
举报
回复
恐怕很难拟合出一个函数,没法用最小二乘法
如果数据点不算太多(几千个以内),可尝试用穷举法,
定义一结构如下,
#define NUMS 4096
struct {
POINT pt;
BOOL fVisited;
} points[NUMS];
double k[NUMS]; //保存斜率
1、将所有点写入结构数组并标记fVisited=FALSE;
2、先任取一点,依次求出与其他各点的斜率,存入k中。
3、定义一查找算法(可重载operator ==),计数斜率值近似相同点, 将最多的一个k值对应的点fVisited标记为TRUE. 并用最小二乘法拟合出一条直线。
4、取fVisited为FALSE的所有点,用最小二乘法拟合第二条直线
xinaideren2002
2007-01-17
打赏
举报
回复
会出现这种情况,十字线不垂直,长度也不一定相等.......
就是激光十字线打到传感器接收到的数据,然后把它模拟出来成两条直线......
HUNTON
2007-01-17
打赏
举报
回复
我的一个想法,如果干扰不是很强的话,看看可行不。
先在离散点中取一点A,其它点与A的关系可以分成共线和不共线两种。判定其它的与A是否共线的方法是,将AB连线,如果直线AB附近有较多其它的离散点,则说明AB共线,否则不共线。当然这里的附近和较多都是比较模糊的,要根据具体的判断应该怎么取值。
aj3423
2007-01-16
打赏
举报
回复
[0 0 0 0 0 0 f 0 0 0 0 0 0 0 0 ]
[0 0 0 0 a 0 0 0 0 0 0 0 0 0 0 ]
[0 0 0 0 0 1 0 0 b 0 0 0 0 0 0 ]
[0 0 t 0 0 0 e 1 0 0 0 0 z 0 0 ]
[0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 ]
[0 0 0 0 0 c 0 0 1 0 0 0 0 0 0 ]
[0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 ]
[0 0 0 0 0 0 x 0 0 0 1 0 0 0 0 ]
[0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 ]
[0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 ]
[0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 d ]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
我的意思是,距离最远的是 a和d吧,然后求ad直线下方所有的点到ad距离,距离最大的是c,ad上方距离最大的是b
然后角平分线是^fet,^fez,^xet,^xez,4个角把点都划分开了,把2个对立角包含的点组一起就好求直线了(落在角平分线上的就算在这个角里)
不知道你的直线会不会是这种情况
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
[0 0 0 0 0 0 0 0 b 0 0 0 0 0 0 ]
[0 0 0 0 0 a 0 1 0 0 0 0 0 0 0 ]
[0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 ]
[0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 ]
[0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 ]
[0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 ]
[0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 ]
[0 c 0 0 0 0 0 0 0 0 0 1 0 0 0 ]
[0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 ]
[0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 d ]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
xinaideren2002
2007-01-16
打赏
举报
回复
To:syy64(太平洋)
关键是怎么区分出哪些点属于第一条线,哪些点又分配到第二条线....
离散点无法确定哪一条线时,还不能做拟合处理啊.....
xinaideren2002
2007-01-16
打赏
举报
回复
首先,非常感谢两位的思路...
不过,问题是,十字线也由离散点组成,且存在不对称,不垂直性质...
To:aj3423(a.j.)
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
[0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 ]
[0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 ]
[0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 ]
[0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 ]
[0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 ]
[0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 ]
[0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 ]
[0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 ]
[0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 ]
[0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 ]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 ]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ]
其中为1构成十字线,这样能保证你获取到的是四个顶点吗?
这个问题,其实忽略计算的话,只要求出四个顶点,就可以计算出两条直线方程式...
aj3423
2007-01-16
打赏
举报
回复
1。
2点间距离= 根号(x差平方+y差平方)
2点间距离最大的肯定是1组顶点
根据这2点确定一条直线,然后用点到直线距离公式算所有点到这条直线的距离,距离最大的就是另外2个顶点
2。
用4个顶点大致做2条直线, 求出交点, 然后做4条角平分线,根据角平分线来分离所有点
3。分别根据2组点做最小二乘
syy64
2007-01-16
打赏
举报
回复
1、首先拟合一条直线,再以该直线的垂直方向作为方向拟合第二条直线;
2、如果第二条直线拟合误差比较大,再在该方向的附近进行拟合一条直线;
3、根据第一条和第二条直线求夹角是90度的两条直线。
matab图像专题精讲
课程内容主要包括入门MATLAB图像处理图像类型转换、图像处理图像的基本操作、MATLAB图像处理常用技巧、MATLAB图像处理关键技术、整数小波S变换对图像进行分解和重构、直线识别
拟合
角平分线案例、对于模糊和加性噪声...
回归学习
算法
---偏
最小二乘
回归、PCA降维与理论
1、相关系数的意义与原理 在研究中我们经常要研究多个变量之间的相关性,这些变量可以是自变量与自变量之间、或者是自变量与因变量之间的相关性,为了表示这种相关性,我们引入了相关系数这个概念。这里使用的是Pearson(皮尔孙)相关系数,相关矩阵的对角元素是1。相关矩阵是对称矩阵。 注意:这里的求相关系数就是求Pxy,其值为负则是表明这两个变量是负相关,为正则是正相关,其正负号可
离散
点
插值方法、等值线的绘制及平滑技巧
离散
点
插值方法、等值线的绘制及平滑技巧吕勇平 戴景茹(广东省气候应用研究所 510080) 由于等值线图看起来非常直观、形象,因此在天气预报、气候预测分析等方面用得非常多,已成为预报员不可缺少的工具之一。如各等压面层的位势高度图、高空环流、温度及降水分布图等等。目前也有一些非常好的微机用绘图软件,如SUFER、GRADS 等。这些软件一般都只有DOS 版,在流行的WINDOWS平台上,虽然可以...
最小二乘
法在飞思卡尔智能车路径搜索中的应用
1、什么是
最小二乘
法
最小二乘
法就是要使得观测
点
和估计
点
的距离的平方达到最小,我们可以使用一些已知的
离散
的
点
,
拟合
出一条与这些
离散
点
最为接近的曲线,从而可以分析出这些
离散
点
的走向趋势。 如图所示是一个线性
拟合
,红色的线代表观测
点
与估计
点
的距离,使得这些距离的平方和最小这样就是
最小二乘
法。 2、
最小二乘
法的推导过程(学霸请忽略,学渣直接看推导结果): 3、
机器学习
算法
(1)—— K-近邻
算法
算法
又叫KNN
算法
,是一种分类
算法
,这个
算法
是机器学习里面一个比较经典的
算法
, 总体来说 KNN
算法
是相对比较容易理解的
算法
。定义:如果一个样本在特征空间中的 k 个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。通过你的“邻居”来判断你属于哪个类别如何计算你到你的"邻居"的距离:一般时候,都是使用欧氏距离
算法
流程计算已知类别数据集中的
点
与当前
点
之间的距离按距离递增次序排序选取与当前
点
距离最小的 k 个
点
统计前 k 个
点
所在的类别出现的频率。...
图形处理/算法
19,468
社区成员
50,698
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章