擬合專題 直線擬合

2021-06-19 04:02:50 字數 2730 閱讀 7281

閒來無事,整理下擬合方面的一些方法(部分內容參考gloomyfish、grooveboy等部落格,在此先行謝過)

直線擬合方法主流方法有最小二乘、hough兩種,其他如halcon上的最小距離也是最小二乘的思想,其他如hough變換和最小二乘結合、混沌粒子群結合等等

1、最小二乘擬合直線

曲線擬合中最基本和最常用的是直線擬合。設x

和y之間的函式關係為:

y=a+bx

式中有兩個待定引數,a代表截距,b代表斜率。對於等精度測量所得到的n組資料(xi

,yi),i=1,2……,n,xi

值被認為是準確的,所有的誤差只聯絡著yi

。下面利用最小二乘法把觀測資料擬合為直線。 

用最小二乘法估計引數時,要求觀測值yi

的偏差的加權平方和為最小。對於等精度觀測值的直線擬合來說,可使下式的值最小:

上式分別對a、b求偏導得:

整理後得到方程組

解上述方程組便可求得直線引數a

和b的最佳估計值。

相關係數

r:最小二乘法處理資料除給出a、

b外,常常還給出相關係數

r, r

定義為

2、hough變換擬合直線

霍夫變換是影象變換中的經典手段之一,主要用來從影象中分離出具有某種相同特徵的幾何

形狀(如,直線,圓等)。霍夫變換尋找直線與圓的方法相比與其它方法可以更好的減少噪

聲干擾。經典的霍夫變換常用來檢測直線,圓,橢圓等。

霍夫變換演算法思想:

以直線檢測為例,每個畫素座標點經過變換都變成都直線特質有貢獻的統一度量,乙個簡單

的例子如下:一條直線在影象中是一系列離散點的集合,通過乙個直線的離散極座標公式,

可以表達出直線的離散點幾何等式如下:

x *cos(theta) + y * sin(theta)  = r 其中角度theta指r與x軸之間的夾角,r為到直線幾何垂

直距離。任何在直線上點,x, y都可以表達,其中 r, theta是常量。該公式圖形表示如下:

然而在實現的影象處理領域,影象的畫素座標p(x, y)是已知的,而r, theta則是我們要尋找

的變數。如果我們能繪製每個(r, theta)值根據畫素點座標p(x, y)值的話,那麼就從影象笛卡

爾座標系統轉換到極座標霍夫空間系統,這種從點到曲線的變換稱為直線的霍夫變換。變換

通過量化霍夫引數空間為有限個值間隔等分或者累加格仔。當霍夫變換演算法開始,每個畫素

座標點p(x, y)被轉換到(r, theta)的曲線點上面,累加到對應的格仔資料點,當乙個波峰出現

時候,說明有直線存在。同樣的原理,我們可以用來檢測圓,只是對於圓的引數方程變為如

下等式:

(x –a ) ^2 + (y-b) ^ 2 = r^2其中(a, b)為圓的中心點座標,r圓的半徑。這樣霍夫的引數空間就

變成乙個三維引數空間。給定圓半徑轉為二維霍夫引數空間,變換相對簡單,也比較常用。

程式設計思路解析:

1.      讀取一幅帶處理二值影象,最好背景為黑色。

2.      取得源畫素資料

3.      根據直線的霍夫變換公式完成霍夫變換,預覽霍夫空間結果

4.尋找最大霍夫值,設定閾值,反變換到影象rgb值空間(

程式難點之一

)5.      越界處理,顯示霍夫變換處理以後的影象

關鍵**解析:

直線的變換角度為[0 ~ pi]之間,設定等份為180份,為提高實時性,只對roi點做hough變換,matlab中hough變換原理應是對沒一點做hough,對於二值影象儘管此點為0,也會預設最hough變換,嚴重影響速度。

霍夫變換源圖如下:

霍夫變換以後,在霍夫空間顯示如下:(白色表示已經找到直線訊號)

最終反變換回到畫素空間效果如下:

乙個更好的執行監測直線的結果(輸入為二值影象):

直線擬合 matlab基礎直線擬合

本文介紹利用矩陣除法進行最小二乘直線擬合 矩陣除法最小二乘直線擬合的函式檔案,參考matlab2018從入門到精通 中文版 function k,b linefit x,y n length x x reshape x,n,1 生成列向量 y reshape y,n,1 a x,ones n,1 b...

OpenCV直線擬合

摘抄自 opencv 提供的直線擬合函式。函式原型如下 void fitline inputarray points,outputarray line,int disttype,double param,double reps,double aeps disttype 指定擬合函式的型別,可以取 c...

Opencv 擬合直線

最小二乘法是勒讓德 a.m.legendre 於1805年在其著作 計算慧星軌道的新方法 中提出的。最小二乘法就是通過最小化誤差的平方和,使得擬合物件無限接近目標物件。在影象處理中主要用於擬合線,通過求取樣點距離誤差最小的線,可以是直線,曲線,橢圓,圓等。求解方法目前分為多項式和概率 最大似然 估計...