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 表达式和语句及for、while循环练习实例
Jul 07 Python
python将每个单词按空格分开并保存到文件中
Mar 19 Python
python线程中同步锁详解
Apr 27 Python
PyQt5下拉式复选框QComboCheckBox的实例
Jun 25 Python
python fuzzywuzzy模块模糊字符串匹配详细用法
Aug 29 Python
Python实现bilibili时间长度查询的示例代码
Jan 14 Python
pygame用blit()实现动画效果的示例代码
May 28 Python
python3的pip路径在哪
Jun 23 Python
pytorch中的weight-initilzation用法
Jun 24 Python
pip 20.3 新版本发布!即将抛弃 Python 2.x(推荐)
Dec 16 Python
用pushplus+python监控亚马逊到货动态推送微信
Jan 29 Python
使用python+pygame开发消消乐游戏附完整源码
Jun 10 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 记录进行累加并显示总时长为秒的结果
2011/11/04 PHP
php 带逗号千位符数字的处理方法
2012/01/10 PHP
分享常见的几种页面静态化的方法
2015/01/08 PHP
PHP+MySql实现一个简单的留言板
2020/07/19 PHP
Jquery Select操作方法集合脚本之家特别版
2010/05/17 Javascript
jQuery创建自己的插件(自定义插件)的方法
2010/06/10 Javascript
js中查找最近的共有祖先元素的实现代码
2010/12/30 Javascript
关于JQuery($.load)事件的用法和分析
2013/04/09 Javascript
jQuery动画animate方法使用介绍
2013/05/06 Javascript
js 中将多个逗号替换为一个逗号的代码
2014/06/07 Javascript
关于在Servelet中如何获取当前时间的操作方法
2016/06/28 Javascript
AngularJS基础 ng-readonly 指令简单示例
2016/08/02 Javascript
JS实现放大、缩小及拖拽图片的方法【可兼容IE、火狐】
2016/08/23 Javascript
weUI应用之JS常用信息提示弹层的封装
2016/11/21 Javascript
概述jQuery的元素筛选
2016/11/23 Javascript
浅谈原型对象的常用开发模式
2017/07/22 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
2017/08/11 Javascript
JavaSctit 利用FileReader和滤镜上传图片预览功能
2017/09/05 Javascript
用js实现每隔一秒刷新时间的实例(含年月日时分秒)
2017/10/25 Javascript
vue 数组和对象不能直接赋值情况和解决方法(推荐)
2017/10/25 Javascript
nodejs async异步常用函数总结(推荐)
2017/11/17 NodeJs
vue中使用sessionStorage记住密码功能
2018/07/24 Javascript
extract-text-webpack-plugin用法详解
2019/02/14 Javascript
vue 实现LED数字时钟效果(开箱即用)
2019/12/08 Javascript
python 上下文管理器使用方法小结
2017/10/10 Python
Selenium(Python web测试工具)基本用法详解
2018/08/10 Python
PyQt5图形界面播放音乐的实例
2019/06/17 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
什么是python的自省
2020/06/21 Python
Django-imagekit的使用详解
2020/07/06 Python
用OpenCV进行年龄和性别检测的实现示例
2021/01/29 Python
关于探究python中sys.argv时遇到的问题详解
2021/02/23 Python
ProBikeKit英国:在线公路自行车之家
2017/02/10 全球购物
中学教师管理制度
2014/01/14 职场文书
测试工程师程序员求职信范文
2014/02/20 职场文书
应届毕业生求职简历自我评价
2015/03/02 职场文书