Python在OpenCV里实现极坐标变换功能


Posted in Python onSeptember 02, 2019

在中学里学习过直角坐标系,也叫做笛卡尔坐标系,它是正交坐标系,不过也学习过极坐标系,这种坐标系比较适合大炮发射的场合。极坐标系的定义如下:

在 平面内取一个定点O, 叫极点,引一条射线Ox,叫做极轴,再选定一个长度单位和角度的正方向(通常取逆时针方向)。对于平面内任何一点M,用ρ表示线段OM的长度,θ表示从Ox到OM的角度,ρ叫做点M的极径,θ叫做点M的极角,有序数对 (ρ,θ)就叫点M的极坐标,这样建立的坐标系叫做极坐标系。

Python在OpenCV里实现极坐标变换功能

极坐标很方便应用到雷达上面,因为雷达不断地转动,反射回来的波计算出距离,再与转动的角度,就构成一个二维图的坐标了。也有人采用这样雷达图来表示公式的销售业绩,这样方便比较不同人的结果,可以看出每个人的差距。下面就使用python和matplotlib实现这样的绘图,让我们对极坐标有一个明确的理解,以便后面展开从直角坐标到极坐标的变换学习,这个例子代码如下:

#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]
 
# 设置图形大小和极坐标方式显示
plt.figure(figsize=(5, 5))
plt.subplot(polar=True)
 
#角度坐标生成
theta = np.linspace(0, 2 * np.pi, len(actual))
 
# 设置极坐标的标记
lines, labels = plt.thetagrids(range(0, 360, int(360/len(employee))), (employee))
 
# 在极坐标显示销售数值
plt.plot(theta, actual)
plt.fill(theta, actual, 'b', alpha=0.1)
 
# 极坐标显示期望销售数值
plt.plot(theta, expected)
 
# 添加标注和标题
plt.legend(labels=('实际值', '期望值'), loc=1)
plt.title("实际值 与 期望值对比")
 
# 显示点到屏幕
plt.show()

输出结果如下:

Python在OpenCV里实现极坐标变换功能

总结

以上所述是小编给大家介绍的Python在OpenCV里实现极坐标变换功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python函数可变参数定义及其参数传递方式实例详解
May 25 Python
Python使用OpenCV进行标定
May 08 Python
PyTorch CNN实战之MNIST手写数字识别示例
May 29 Python
详解Django的model查询操作与查询性能优化
Oct 16 Python
Django实现学员管理系统
Feb 26 Python
pandas计数 value_counts()的使用
Jun 24 Python
Python对接支付宝支付自实现功能
Oct 10 Python
Python使用Opencv实现图像特征检测与匹配的方法
Oct 30 Python
python pptx复制指定页的ppt教程
Feb 14 Python
Django自关联实现多级联动查询实例
May 19 Python
scrapy中如何设置应用cookies的方法(3种)
Sep 22 Python
用pushplus+python监控亚马逊到货动态推送微信
Jan 29 Python
Python 读取用户指令和格式化打印实现解析
Sep 02 #Python
Python操作excel的方法总结(xlrd、xlwt、openpyxl)
Sep 02 #Python
Python目录和文件处理总结详解
Sep 02 #Python
Python3操作Excel文件(读写)的简单实例
Sep 02 #Python
python函数修饰符@的使用方法解析
Sep 02 #Python
python3文件复制、延迟文件复制任务的实现方法
Sep 02 #Python
基于python进行抽样分布描述及实践详解
Sep 02 #Python
You might like
PHP的博客ping服务代码
2012/02/04 PHP
php中计算未知长度的字符串哪个字符出现的次数最多的代码
2012/08/14 PHP
IIS6.0 开启Gzip方法及PHP Gzip函数分享
2014/06/08 PHP
CodeIgniter基于Email类发邮件的方法
2016/03/29 PHP
javascript firefox不显示本地预览图片问题的解决方法
2008/11/12 Javascript
XHTML下,JS浮动代码失效的问题
2009/11/12 Javascript
js url传值中文乱码之解决之道
2009/11/20 Javascript
javascript实现的DES加密示例
2013/10/30 Javascript
原生js和jQuery随意改变div属性style的名称和值
2014/10/22 Javascript
PHP中使用微秒计算脚本执行时间例子
2014/11/19 Javascript
JS图片左右无缝隙滚动的实现(兼容IE,Firefox 遵循W3C标准)
2016/09/23 Javascript
Vue.js第三天学习笔记(计算属性computed)
2016/12/01 Javascript
js实现旋转木马效果
2017/03/17 Javascript
socket.io学习教程之深入学习篇(三)
2017/04/29 Javascript
js图片加载效果实例代码(延迟加载+瀑布流加载)
2017/05/12 Javascript
微信小程序图片自适应支持多图实例详解
2017/06/21 Javascript
利用adb shell和node.js实现抖音自动抢红包功能(推荐)
2018/02/22 Javascript
使用vuex缓存数据并优化自己的vuex-cache
2018/05/30 Javascript
Vue 开发音乐播放器之歌手页右侧快速入口功能
2018/08/08 Javascript
详解@Vue/Cli 3 Invalid Host header 错误解决办法
2019/01/02 Javascript
vue 使用外部JS与调用原生API操作示例
2019/12/02 Javascript
微信小程序连接服务器展示MQTT数据信息的实现
2020/07/14 Javascript
Python实现全角半角转换的方法
2014/08/18 Python
Python使用matplotlib绘制动画的方法
2015/05/20 Python
Python判断Abundant Number的方法
2015/06/15 Python
python matplotlib饼状图参数及用法解析
2019/11/04 Python
python获取array中指定元素的示例
2019/11/26 Python
python实现输入三角形边长自动作图求面积案例
2020/04/12 Python
python实现文件分片上传的接口自动化
2020/11/19 Python
python openssl模块安装及用法
2020/12/06 Python
客服实习的个人自我鉴定
2013/10/20 职场文书
教师自我鉴定范文
2013/11/10 职场文书
四好少年事迹材料
2014/01/12 职场文书
地震慰问信
2015/02/14 职场文书
2015毕业生简历自我评价
2015/03/02 职场文书
用Python写一个简易版弹球游戏
2021/04/13 Python