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缩进和冒号详解
Jun 01 Python
Python输出汉字字库及将文字转换为图片的方法
Jun 04 Python
Python实现屏幕截图的代码及函数详解
Oct 01 Python
Python基于matplotlib实现绘制三维图形功能示例
Jan 18 Python
对Python3中的input函数详解
Apr 22 Python
使用Python+wxpy 找出微信里把你删除的好友实例
Feb 21 Python
Python爬取数据保存为Json格式的代码示例
Apr 09 Python
Python程序包的构建和发布过程示例详解
Jun 09 Python
使用Matplotlib 绘制精美的数学图形例子
Dec 13 Python
Python集合操作方法详解
Feb 09 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
Mar 03 Python
python 机器学习的标准化、归一化、正则化、离散化和白化
Apr 16 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/10/31 PHP
PHP获取和操作配置文件php.ini的几个函数介绍
2013/06/24 PHP
ThinkPHP3.1数据CURD操作快速入门
2014/06/19 PHP
php限制文件下载速度的代码
2015/10/20 PHP
PHP实现的猴王算法(猴子选大王)示例
2018/04/30 PHP
php工具型代码之印章抠图
2018/07/18 PHP
PHP针对redis常用操作实例详解
2019/08/17 PHP
JavaScript延迟加载
2021/03/09 Javascript
JQuery 确定css方框模型(盒模型Box Model)
2010/01/22 Javascript
基于JQuery的密码强度验证代码
2010/03/01 Javascript
js 兼容多浏览器的回车和鼠标焦点事件代码(IE6/7/8,firefox,chrome)
2010/04/14 Javascript
JavaScript判断DOM何时加载完毕的技巧
2012/11/11 Javascript
基于JavaScript 声明全局变量的三种方式详解
2013/05/07 Javascript
使用Javascript简单实现图片无缝滚动
2014/12/05 Javascript
JQuery实现带排序功能的权限选择实例
2015/05/18 Javascript
JS实现双击编辑可修改状态的方法
2015/08/14 Javascript
jQuery EasyUI实现右键菜单变灰不可用效果
2015/09/24 Javascript
js创建jsonArray传输至后台及后台全面解析
2016/04/11 Javascript
一个非常好用的文字滚动的案例,鼠标悬浮可暂停[两种方案任选]
2016/12/01 Javascript
Bootstrap源码解读按钮(5)
2016/12/23 Javascript
php 修改密码实现代码
2017/05/24 Javascript
JS实现的将html转为pdf功能【基于浏览器端插件jsPDF】
2018/02/06 Javascript
Vue实现的父组件向子组件传值功能示例
2019/01/19 Javascript
Vue实现多标签选择器
2019/11/28 Javascript
vue列表数据发生变化指令没有更新问题及解决方法
2020/01/16 Javascript
黑科技 Python脚本帮你找出微信上删除你好友的人
2016/01/07 Python
Python3网络爬虫之使用User Agent和代理IP隐藏身份
2017/11/23 Python
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
2018/05/15 Python
Django Form and ModelForm的区别与使用
2019/12/06 Python
Tensorflow实现部分参数梯度更新操作
2020/01/23 Python
周仰杰(JIMMY CHOO)英国官方网站:闻名世界的鞋子品牌
2018/10/28 全球购物
打架检讨书500字
2014/01/29 职场文书
财务部总监岗位职责
2014/03/12 职场文书
党的群众路线学习材料
2014/05/16 职场文书
PostgreSQL数据库创建并使用视图以及子查询
2022/04/11 PostgreSQL
Win11自动黑屏怎么办 Win11自动黑屏设置教程
2022/07/15 数码科技