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多线程http下载实现示例
Dec 30 Python
python实现自动更换ip的方法
May 05 Python
Linux下多个Python版本安装教程
Aug 15 Python
Django中使用第三方登录的示例代码
Aug 20 Python
Python logging模块用法示例
Aug 28 Python
解决每次打开pycharm直接进入项目的问题
Oct 28 Python
python pytest进阶之conftest.py详解
Jun 27 Python
对Python的交互模式和直接运行.py文件的区别详解
Jun 29 Python
python中的&&及||的实现示例
Aug 07 Python
python操作openpyxl导出Excel 设置单元格格式及合并处理代码实例
Aug 27 Python
python定时任务 sched模块用法实例
Nov 04 Python
pytorch构建多模型实例
Jan 15 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
Ajax PHP简单入门教程代码
2008/04/25 PHP
PHP字符串函数系列之nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符br
2011/11/10 PHP
基于PHP常用函数的用法详解
2013/05/10 PHP
PHP实现的堆排序算法详解
2017/08/17 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
jQuery autocomplete插件修改
2009/04/17 Javascript
基于pthread_create,readlink,getpid等函数的学习与总结
2013/07/17 Javascript
JavaScript prototype 使用介绍
2013/08/29 Javascript
JSON格式的键盘编码对照表
2015/01/29 Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
2015/03/03 Javascript
JavaScript通过字符串调用函数的实现方法
2015/03/18 Javascript
javascript判断数组内是否重复的方法
2015/04/21 Javascript
jQuery仿淘宝网产品品牌隐藏与显示效果
2015/09/01 Javascript
jquery移除了live()、die(),新版事件绑定on()、off()的方法
2016/10/26 Javascript
jquery实现文字单行横移或翻转(上下、左右跳转)
2017/01/08 Javascript
原生js实现验证码功能
2017/03/16 Javascript
ES6新特性之Object的变化分析
2017/03/31 Javascript
jQuery滚动插件scrollable.js用法分析
2017/05/25 jQuery
Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容
2017/06/17 Javascript
javascript+html5+css3自定义弹出窗口效果
2017/10/26 Javascript
解决vue单页使用keep-alive页面返回不刷新的问题
2018/03/13 Javascript
详解Vuex下Store的模块化拆分实践
2019/07/31 Javascript
小程序双头slider选择器的实现示例
2020/03/31 Javascript
Vue router安装及使用方法解析
2020/12/02 Vue.js
[52:32]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第三场 11.18
2020/11/18 DOTA
浅谈Python 列表字典赋值的陷阱
2019/01/20 Python
Python根据当前日期取去年同星期日期
2019/04/14 Python
详解HTML5中CSS外观属性
2020/09/10 HTML / CSS
美国小蜜蜂Burt’s Bees德国官网:天然唇部、皮肤和身体护理产品
2020/06/14 全球购物
物流管理专业大学生自荐信
2013/10/04 职场文书
班主任工作经验交流材料
2014/05/13 职场文书
课外科技活动总结
2014/08/27 职场文书
校园安全广播稿范文
2014/09/25 职场文书
2015年试用期工作总结
2014/12/12 职场文书
大学学生会主席竞选稿怎么写?
2019/08/19 职场文书
五年级作文之成长
2019/09/16 职场文书