wd529
幼苗
共回答了20个问题采纳率:100% 举报
你可以可以这样,先画好图获得基本的线条信息,然后采集那条线的点进行线性回归获得方程.
比如在你这个图像中明显可以看出5条线段,采集这五条线段的点坐标(横坐标,纵坐标)集合,分别记为 (X1,Y1),(X2,Y2),(X3,Y3),(X4,Y4),(X5,Y5).
然后编程算出方程,下面以(X1,Y1)为例
X=[X1 ones(size(X1,1),1)];
b=regress(Y1,X,0.05)
其他直线也一样算出
1年前
追问
6
波波cnc
举报
我的问题就在于 如何 获取 线条数据 这五条线的原始数据是储存在 同一个矩阵当中的 如何将他们抽离出来?
举报
wd529
手工采集数据确实有点费劲。你看这样行不行。每一条线找所有的点不太现实,但是在一条线上找两个点(比如第一个和最后一个)还是可以做到的,然后利用这两个点确定一条直线。接着对矩阵所有点进行搜索,计算每个点到这条直线的距离(好像点到直线的距离有专门的公式),如果小于某个阈值c(可以设定0.1或者更小),则将这个点的横纵坐标放入X1,Y1(或者其他坐标)。
这个方法简单易于理解,但是可能只能达到半自动化。
波波cnc
举报
你跟我想法差不多。。 我在想有没有更好的方法 或者 matlab有没有相应的工具