文档图像倾斜角检测及校正(二)
- 最小距离法直线拟合原理
- Matlab程序
阅读之前注意:
Hi,你好,我是Cooper Liu,欢迎来到我写的“文档图像校正”系列博客。基于三种原理,我写了四个实验性的Matlab验证程序,以及两个文档校正Matlab程序。在这里你将能够获取所有的源代码以及测试图片,完全可以在你自己的Matlab上跑这些程序。
如果你是学生,请注意不要抄袭,课程设计作业的话,这种程序仅仅只能让你得到80%左右的成绩。
如果你是工作人士或者只是感兴趣的极客,Okay,我想这些程序对于理解原理是如何应用为程序的已经足够 。最后,请勿将这些资源用于商业用途(如你所见,这些程序都非常的初级)或者是谋取个人利益,知识在传播的过程中能展现更大的价值-
本文阅读建议用时:32min
本文阅读结构如下表:
项目 | 下属项目 | 测试用例数量 |
---|---|---|
最小距离法直线拟合原理 | 无 | 0 |
Matlab程序 | 无 | 1 |
最小距离法直线拟合原理1
最小距离法拟合直线是指,我们设线条上n个特征点:
( x i , y i ) , i = 1 , 2 , … , n , (x_i,y_i ), i=1,2,…,n, (xi,yi),i=1,2,…,n,则第i个特征点到直线 y = k x + b y=kx+b y=kx+b 的垂直距离为:
∣ y i − ( k x i + b ) ∣ ( 1 + k 2 ) \frac{|y_i-(kx_i+b)|}{\sqrt{(1+k^2 )}} (1+k2)∣yi−(kxi+b)∣因此n个特征点到直线 y = k x + b y=kx+b y=kx+b 的距离平方和为:
D ( k , b ) = ∑ i = 1 n [ y i − ( k x i + b ) ] 2 1 + k 2 = 1 1 + k 2 ∑ i = 1 n [ y i − ( k x i + b ) ] 2 D(k,b)=\sum_{i=1}^n\frac{[y_i-(kx_i+b)]^2}{1+k^2}= \frac{1}{1+k^2}\sum_{i=1}^n[y_i-(kx_i+b)]^2