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笔记(1) 关于我们应不应该继续学习python
Oct 24 Python
python中stdout输出不缓存的设置方法
May 29 Python
django模型中的字段和model名显示为中文小技巧分享
Nov 18 Python
Python内存管理方式和垃圾回收算法解析
Nov 11 Python
python TF-IDF算法实现文本关键词提取
May 29 Python
python操作文件的参数整理
Jun 11 Python
windows安装TensorFlow和Keras遇到的问题及其解决方法
Jul 10 Python
基于h5py的使用及数据封装代码
Dec 26 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
Mar 25 Python
基于python计算并显示日间、星期客流高峰
May 07 Python
python实现mask矩阵示例(根据列表所给元素)
Jul 30 Python
python re的findall和finditer的区别详解
Nov 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
PHP变量内存分配问题记录整理
2013/11/27 PHP
WordPress网站性能优化指南
2015/11/18 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
PHP实现随机数字、字母的验证码功能
2018/08/01 PHP
在线编辑器的实现原理(兼容IE和FireFox)
2007/03/09 Javascript
点击按钮或链接不跳转只刷新页面的脚本整理
2013/10/22 Javascript
JavaScript自定义日期格式化函数详细解析
2014/01/14 Javascript
javascript实现简单的进度条
2015/07/02 Javascript
js 基础篇必看(点击事件轮播图的简单实现)
2016/08/20 Javascript
微信小程序 底部导航栏目开发资料
2016/12/05 Javascript
Bootstrap模态框使用详解
2017/02/15 Javascript
JavaScript和jQuery制作光棒效果
2017/02/24 Javascript
深入理解在JS中通过四种设置事件处理程序的方法
2017/03/02 Javascript
小程序实现自定义导航栏适配完美版
2019/04/02 Javascript
CentOS 8.2服务器上安装最新版Node.js的方法
2020/12/16 Javascript
[48:00]EG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/29 DOTA
[47:10]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第二场 12.16
2020/12/18 DOTA
python类和函数中使用静态变量的方法
2015/05/09 Python
pandas.dataframe中根据条件获取元素所在的位置方法(索引)
2018/06/07 Python
使用python制作一个解压缩软件
2019/11/13 Python
基于python cut和qcut的用法及区别详解
2019/11/22 Python
基于梯度爆炸的解决方法:clip gradient
2020/02/04 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
2020/02/29 Python
英国在线珠宝店:The Jewel Hut
2017/03/20 全球购物
美国高级工作服品牌:Carhartt
2018/01/25 全球购物
美国用餐电影院:Alamo Drafthouse Cinema
2020/01/23 全球购物
捷克购买家具网站:JENA nábytek
2020/03/19 全球购物
澳大利亚领先的时尚内衣零售商:Bras N Things
2020/07/28 全球购物
理工学院学生自我鉴定
2014/02/23 职场文书
事业单位个人总结
2015/02/12 职场文书
费城故事观后感
2015/06/10 职场文书
观看安全警示教育片心得体会
2016/01/15 职场文书
如何判断pytorch是否支持GPU加速
2021/06/01 Python
教你使用一行Python代码玩遍童年的小游戏
2021/08/23 Python
Vue2.0搭建脚手架
2022/03/13 Vue.js
pycharm无法安装cv2模块问题
2022/05/20 Python