Python在OpenCV里實現(xiàn)極坐標(biāo)變換功能
在中學(xué)里學(xué)習(xí)過直角坐標(biāo)系,也叫做笛卡爾坐標(biāo)系,它是正交坐標(biāo)系,不過也學(xué)習(xí)過極坐標(biāo)系,這種坐標(biāo)系比較適合大炮發(fā)射的場合。極坐標(biāo)系的定義如下:
在 平面內(nèi)取一個定點O, 叫極點,引一條射線Ox,叫做極軸,再選定一個長度單位和角度的正方向(通常取逆時針方向)。對于平面內(nèi)任何一點M,用ρ表示線段OM的長度,θ表示從Ox到OM的角度,ρ叫做點M的極徑,θ叫做點M的極角,有序數(shù)對 (ρ,θ)就叫點M的極坐標(biāo),這樣建立的坐標(biāo)系叫做極坐標(biāo)系。

極坐標(biāo)很方便應(yīng)用到雷達(dá)上面,因為雷達(dá)不斷地轉(zhuǎn)動,反射回來的波計算出距離,再與轉(zhuǎn)動的角度,就構(gòu)成一個二維圖的坐標(biāo)了。也有人采用這樣雷達(dá)圖來表示公式的銷售業(yè)績,這樣方便比較不同人的結(jié)果,可以看出每個人的差距。下面就使用python和matplotlib實現(xiàn)這樣的繪圖,讓我們對極坐標(biāo)有一個明確的理解,以便后面展開從直角坐標(biāo)到極坐標(biāo)的變換學(xué)習(xí),這個例子代碼如下:
#python 3.7.4,opencv4.1
#蔡軍生 https://blog.csdn.net/caimouse/article/details/51749579
#
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei'] #用來正常顯示中文標(biāo)簽
plt.rcParams['axes.unicode_minus']=False #用來正常顯示負(fù)號
employee = ["張三", "李四", "蔡大", "龐二", "林五"]
actual = [45, 53, 55, 61, 57, 45]
expected = [50, 55, 60, 65, 55, 50]
# 設(shè)置圖形大小和極坐標(biāo)方式顯示
plt.figure(figsize=(5, 5))
plt.subplot(polar=True)
#角度坐標(biāo)生成
theta = np.linspace(0, 2 * np.pi, len(actual))
# 設(shè)置極坐標(biāo)的標(biāo)記
lines, labels = plt.thetagrids(range(0, 360, int(360/len(employee))), (employee))
# 在極坐標(biāo)顯示銷售數(shù)值
plt.plot(theta, actual)
plt.fill(theta, actual, 'b', alpha=0.1)
# 極坐標(biāo)顯示期望銷售數(shù)值
plt.plot(theta, expected)
# 添加標(biāo)注和標(biāo)題
plt.legend(labels=('實際值', '期望值'), loc=1)
plt.title("實際值 與 期望值對比")
# 顯示點到屏幕
plt.show()
輸出結(jié)果如下:

總結(jié)
以上所述是小編給大家介紹的Python在OpenCV里實現(xiàn)極坐標(biāo)變換功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
python鏈接sqlite數(shù)據(jù)庫的詳細(xì)代碼實例
SQLite數(shù)據(jù)庫是一款非常小巧的嵌入式開源數(shù)據(jù)庫軟件,也就是說沒有獨立的維護(hù)進(jìn)程,所有的維護(hù)都來自于程序本身,它是遵守ACID的關(guān)聯(lián)式數(shù)據(jù)庫管理系統(tǒng),它的設(shè)計目標(biāo)是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低2021-09-09
python并發(fā)2之使用asyncio處理并發(fā)
本篇文章主要介紹了python并發(fā)2之使用asyncio處理并發(fā),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12
Python編程scoketServer實現(xiàn)多線程同步實例代碼
這篇文章主要介紹了Python編程scoketServer實現(xiàn)多線程同步實例代碼,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下2018-01-01

