在中學(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è)明確的理解,以便后面展開從直角坐標(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)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
