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