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列表操作实例
Jan 14 Python
Python基于更相减损术实现求解最大公约数的方法
Apr 04 Python
Flask框架Jinjia模板常用语法总结
Jul 19 Python
Python多图片合并PDF的方法
Jan 03 Python
python3使用腾讯企业邮箱发送邮件的实例
Jun 28 Python
wxPython实现列表增删改查功能
Nov 19 Python
如何使用python实现模拟鼠标点击
Jan 06 Python
pycharm 中mark directory as exclude的用法详解
Feb 14 Python
Pytorch mask_select 函数的用法详解
Feb 18 Python
python 双循环遍历list 变量判断代码
May 04 Python
Jupyter notebook 输出部分显示不全的解决方案
Apr 24 Python
python使用pymysql模块操作MySQL
Jun 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/05/31 PHP
PHP中的reflection反射机制测试例子
2014/08/05 PHP
ThinkPHP实现二级循环读取的方法
2014/11/03 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
jquery 防止表单重复提交代码
2010/01/21 Javascript
javascript 模式设计之工厂模式详细说明
2010/05/10 Javascript
jQuery 验证插件 Web前端设计模式(asp.net)
2010/10/17 Javascript
在Windows上安装Node.js模块的方法
2011/09/25 Javascript
基于js与flash实现的网站flv视频播放插件代码
2014/10/14 Javascript
跟我学习javascript的Date对象
2015/11/19 Javascript
Bootstrap每天必学之下拉菜单
2015/11/25 Javascript
js获取隐藏元素宽高的实现方法
2016/05/19 Javascript
浅谈js中几种实用的跨域方法原理详解
2016/12/02 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
2017/01/10 Javascript
在js中做数字字符串补0(js补零)
2017/03/25 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
JavaScript面向对象精要(上部)
2017/09/12 Javascript
Vue2 监听属性改变watch的实例代码
2018/08/27 Javascript
监控Nodejs的性能实例代码
2019/07/02 NodeJs
js实现左右轮播图
2020/01/09 Javascript
vue浏览器返回监听的具体步骤
2021/02/03 Vue.js
[41:17]完美世界DOTA2联赛PWL S3 access vs CPG 第二场 12.13
2020/12/17 DOTA
python遍历文件夹并删除特定格式文件的示例
2014/03/05 Python
Python3正则匹配re.split,re.finditer及re.findall函数用法详解
2018/06/11 Python
python数据类型可变不可变知识点总结
2020/03/06 Python
联想哥伦比亚网上商城:Lenovo Colombia
2017/01/10 全球购物
英国时尚运动品牌的合集:The Sports Edit
2017/12/20 全球购物
医学生自我鉴定范文
2013/11/08 职场文书
服装设计专业毕业生推荐信
2013/11/09 职场文书
青年创业培训欢迎词
2014/01/10 职场文书
青年教师培训方案
2014/02/06 职场文书
投标诚信承诺书
2014/05/26 职场文书
大学生自我评价200字(4篇)
2014/09/17 职场文书
初中毕业生自我评价
2015/03/02 职场文书
Vue Element UI自定义描述列表组件
2021/05/18 Vue.js
MySQL transaction事务安全示例讲解
2022/06/21 MySQL