Python在OpenCV里實現(xiàn)極坐標變換功能
在中學里學習過直角坐標系,也叫做笛卡爾坐標系,它是正交坐標系,不過也學習過極坐標系,這種坐標系比較適合大炮發(fā)射的場合。極坐標系的定義如下:
在 平面內(nèi)取一個定點O, 叫極點,引一條射線Ox,叫做極軸,再選定一個長度單位和角度的正方向(通常取逆時針方向)。對于平面內(nèi)任何一點M,用ρ表示線段OM的長度,θ表示從Ox到OM的角度,ρ叫做點M的極徑,θ叫做點M的極角,有序數(shù)對 (ρ,θ)就叫點M的極坐標,這樣建立的坐標系叫做極坐標系。
極坐標很方便應(yīng)用到雷達上面,因為雷達不斷地轉(zhuǎn)動,反射回來的波計算出距離,再與轉(zhuǎn)動的角度,就構(gòu)成一個二維圖的坐標了。也有人采用這樣雷達圖來表示公式的銷售業(yè)績,這樣方便比較不同人的結(jié)果,可以看出每個人的差距。下面就使用python和matplotlib實現(xiàn)這樣的繪圖,讓我們對極坐標有一個明確的理解,以便后面展開從直角坐標到極坐標的變換學習,這個例子代碼如下:
#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'] #用來正常顯示中文標簽 plt.rcParams['axes.unicode_minus']=False #用來正常顯示負號 employee = ["張三", "李四", "蔡大", "龐二", "林五"] actual = [45, 53, 55, 61, 57, 45] expected = [50, 55, 60, 65, 55, 50] # 設(shè)置圖形大小和極坐標方式顯示 plt.figure(figsize=(5, 5)) plt.subplot(polar=True) #角度坐標生成 theta = np.linspace(0, 2 * np.pi, len(actual)) # 設(shè)置極坐標的標記 lines, labels = plt.thetagrids(range(0, 360, int(360/len(employee))), (employee)) # 在極坐標顯示銷售數(shù)值 plt.plot(theta, actual) plt.fill(theta, actual, 'b', alpha=0.1) # 極坐標顯示期望銷售數(shù)值 plt.plot(theta, expected) # 添加標注和標題 plt.legend(labels=('實際值', '期望值'), loc=1) plt.title("實際值 與 期望值對比") # 顯示點到屏幕 plt.show()
輸出結(jié)果如下:
總結(jié)
以上所述是小編給大家介紹的Python在OpenCV里實現(xiàn)極坐標變換功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
Python基礎(chǔ)之教你怎么在M1系統(tǒng)上使用pandas
這篇文章主要介紹了Python基礎(chǔ)之教你怎么在M1系統(tǒng)上使用pandas,文中有非常詳細的代碼示例,對正在學習python基礎(chǔ)的小伙伴們有很好地幫助,需要的朋友可以參考下2021-05-05設(shè)計模式中的原型模式在Python程序中的應(yīng)用示例
這篇文章主要介紹了設(shè)計模式中的原型模式在Python程序中的應(yīng)用示例,文中主要強調(diào)了對淺拷貝和深拷貝在對象復(fù)制時的使用,需要的朋友可以參考下2016-03-03Python中使用copy模塊實現(xiàn)列表(list)拷貝
這篇文章主要介紹了Python中使用copy模塊實現(xiàn)列表(list)拷貝,本文講解了簡單列表的復(fù)制和復(fù)雜列表復(fù)制的解決方法,需要的朋友可以參考下2015-04-04Python函數(shù)必須先定義,后調(diào)用說明(函數(shù)調(diào)用函數(shù)例外)
這篇文章主要介紹了Python函數(shù)必須先定義,后調(diào)用說明(函數(shù)調(diào)用函數(shù)例外),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06python開發(fā)之tkinter實現(xiàn)圖形隨鼠標移動的方法
這篇文章主要介紹了python開發(fā)之tkinter實現(xiàn)圖形隨鼠標移動的方法,涉及Python基于tkinter繪圖的相關(guān)實現(xiàn)技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-11-11django之對FileField字段的upload_to的設(shè)定方法
今天小編就為大家分享一篇django之對FileField字段的upload_to的設(shè)定方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07如何安裝并使用conda指令管理python環(huán)境
這篇文章主要介紹了如何使用conda指令管理python環(huán)境,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-07-07python刪掉重復(fù)行之drop_duplicates()用法示例
Pandas的drop_duplicates()方法用于從DataFrame中刪除重復(fù)的行,這篇文章主要給大家介紹了關(guān)于python刪掉重復(fù)行之drop_duplicates()用法的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-08-08