如何去除相機畸變

2021-08-30 04:33:36 字數 853 閱讀 5863

第一步:將影象座標系座標轉換到攝像機座標系座標,根據內參模型,有:

x[i]=(x[i]-principal[0])/focal[0];

y[i]=(y[i]-principal[1])/focal[1];

其中,x[i]、y[i]為攝像機去畸變前座標,x[i]、y[i]為影象座標系座標,剩餘的就不多說了

第二步:去除耦合係數skew影響,有:

x[i]=x[i]-y[i]skew;

第三步:利用畸變係數k1、k2、k3、p1、p2去除徑向畸變和切向畸變,有:

徑向畸變計算:

temp=x_new[i]x_new[i]+y_new[i]y_new[i];

tempkr=1+k1temp+k2temptemp+k3temptemptemp;

切向畸變計算:

deltax=2p1x_new[i]y_new[i]+p2(temp+2x_new[i]x_new[i]);

deltay=2p1x_new[i]y_new[i]+p2(temp+2y_new[i]*y_new[i]);

畸變校正

x_new[i]=(x[i]-deltax)/tempkr;

y_new[i]=(y[i]-deltay)/tempkr;

重複以上步驟n次(一般取20左右)

第四步:將攝像機座標系再轉換到影象座標系

x_new[i]=x_new[i]*focal[0]+principal[0];

y_new[i]=y_new[i]*focal[1]+principal[1];

大功告成。仔細的小夥伴一定會提出疑問,怎麼第三步在用x_new[i]計算x_new[i],bingo,在矯正前需要給x_new[i]賦初值為x[i]。

相機畸變矯正

影象的幾何畸變是指在影象平面上影象點在幾何位置上的誤差,是因為成像系統不能使影象與實際景物在全視場範圍內嚴格滿足針孔成像模圖型使中心投影射線發生彎曲造成的,畸變主要分為徑向畸變和切向畸變 徑向畸變是指給定影象點從它的理想位置向內或向外移動,主要是由鏡頭表面部分在徑向曲率的變化存在缺陷造成的,影象點負...

相機畸變以及相機標定

相機畸變的種類 徑向畸變 產生原因 由透鏡形狀引起的畸變稱為徑向畸變,徑向畸變主要分為桶形畸變和枕型畸變。在針孔模型中,一條直線投影到畫素平面上還是一條直線。但在實際中,相機的透鏡往往使得真實環境中的一條直線在中變成了曲線。越靠近影象的邊緣現象越明顯。由於透鏡往往是中心對稱的,這使得不規則畸變通常徑...

消除相機透鏡畸變

一般的針孔相機模型如下 三維座標點經過透視投影變換,轉換到乙個影象平面座標點。而相機透鏡還存在一定的畸變,包括橫向畸變和切向畸變。因此,針孔相機模型又被擴充套件為以下模型 首先,世界座標被轉換為相機座標,由x,y,z到x,y,z 然後,歸一化,z 1處,x,y的投影座標x y 接下來,對投影座標,進...