xy座標轉換為極座標 視覺知識 極座標的轉換

2021-10-12 21:13:54 字數 2180 閱讀 4049

引言

極座標轉換在影象預處理中應用廣泛,對圓形扇形影象的矯正起到了關鍵作用,本文主要講解極座標轉換的原理實現**和一些應用例項。

1極座標轉換原理二維座標系下,某點座標表示u(x,y),這種表示是在平面座標系下。

極座標表示某點利用某點到原點距離和夾角表示,u(r,α);

極座標和平面座標系轉換:

x=r*cos(α)

y=r*sin(α)

極座標使用弧度制, 平面座標上的任意點都能在極座標中 表示出來,而且不止一種表示方法。

c++實現

直角座標系轉換到極座標

#include

#include

using namespace std;

struct polar

double distance;

double angle;

struct rect

double x;

double y;

polar rect_to_polar(rect xypos);

void show_polar(polar dapos);

int main()

rect rplace;

polar pplace;

cout << " enter the x and y values: ";

while (cin >> rplace.x>>rplace.y)

pplace = rect_to_polar(rplace);

show_polar(pplace);

cout << "next two number (q to quit):";

cout << "done!\n";

return 0;

polar rect_to_polar(rect xypos)//直角座標系轉換到極座標系,得到極座標系下的座標

polar answer;

answer.distance =

sqrt(xypos.x*xypos.x + xypos.y*xypos.y);

answer.angle =

atan(xypos.y / xypos.x);

return answer;

void show_polar(polar dapos)

const double rad_to_deg = 57.29577951;

cout << "distance =" << dapos.distance<

cout << "angle =" << dapos.angle*rad_to_deg;

cout << " degrees\n";

應用例項

1.cd環形字元識別如圖所示,通過預處理blob分析得到擬合的圓心及半徑夠即可對cd影象進行極座標轉換得到橫向的字元影象。

2.進行圓形壓力表的的示數識別,如圖所示,首先將表盤擬合出圓形,然後通過極座標轉換得到拉直的表盤,通過測量指標與尺的位置關係,得到精準的圓形表盤示數。

直角座標系和極座標系.  chen-sh. csdn

類的初步知識(c++中直角座標和極座標之間的轉換**). l_kuajie. csdn

在看

對數極座標轉換

執行對數極座標轉換 cvlogpolar src image,dst image,cvpoint2d32f src image width 4,src image height 2 78.0 再次執行對數極左邊轉換 cvlogpolar dst image,dst second image,cvpo...

極座標感想

數學在程式設計的中應用 以前寫程式,總感覺數學離我很遠。不知道數學是應用在哪些方面。演算法哪只能算是解決某種問題的思路。哪些純數學的東西好像沒有什麼實際應用。就在前些天,我看到了乙個例子,用js寫的小動畫煙花綻放,就深深體會到了數學的作用。而極座標就是我認識的第一步。極坐與笛卡爾座標的轉換,也體會到...

如何把極座標化為直角座標 深度理解極座標和球座標

首先,談談為什麼數學要引入座標系?座標的本質是為了方便地定位,數學中的座標也不例外。作為數學的重要概念,座標系是用代數方法研究幾何問題最有力的工具。通過將幾何元素 點 線 面 體 用座標表示出來,應用代數化的方程 運算等達成度量幾何體 處理幾何問題的目標。例如,把乙個三角形置於座標系中,確定三角形的...