计算机视觉|计算机视觉 openCV2 几种fitting line 方法

1. 最小二乘法(least square):

x = [] y = [] for point in data_points: x.append(point[0]) y.append(point[1]) avg_x = (sum(x)) / len(x) avg_y = (sum(y)) / len(y) x_sub = list(map((lambda x: x - avg_x), x)) y_sub = list(map((lambda y: y - avg_y), y)) x_sub_pow2 = list(map((lambda x: x ** 2), x_sub))x_y = map((lambda x, y: x * y), x_sub, y_sub) a = (sum(x_y)) / sum(x_sub_pow2) b = avg_y - a * avg_x


2. 鲁棒估计法(robust estimator):
采用fitline函数。后续实现相关功能函数
3. 高斯估计法:
对两个shot图片的数据点采用高斯概率分布,求出u and variance 对一定threshold(70%概率)以外的点进行还原图像。
三类方法都是先拟合,再提取threhold意外的点,然后还原图像,有必要进行erode和dilute,最后获得图片变动物体。
【计算机视觉|计算机视觉 openCV2 几种fitting line 方法】

    推荐阅读