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中的对象拷贝示例 python引用传递
Jan 23 Python
Python 搭建Web站点之Web服务器网关接口
Nov 06 Python
numpy排序与集合运算用法示例
Dec 15 Python
python编程使用协程并发的优缺点
Sep 20 Python
python修改文件内容的3种方法详解
Nov 15 Python
Python性能分析工具Profile使用实例
Nov 19 Python
selenium中get_cookies()和add_cookie()的用法详解
Jan 06 Python
在Django中预防CSRF攻击的操作
Mar 13 Python
在PyTorch中使用标签平滑正则化的问题
Apr 03 Python
解决python执行较大excel文件openpyxl慢问题
May 15 Python
基于nexus3配置Python仓库过程详解
Jun 15 Python
python中用ggplot绘制画图实例讲解
Jan 26 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
DC四月将推出百页特刊漫画 纪念小丑诞生80周年
2020/04/09 欧美动漫
基于mysql的bbs设计(五)
2006/10/09 PHP
php 字符转义 注意事项
2009/05/27 PHP
php简单实现快速排序的方法
2015/04/04 PHP
8个必备的PHP功能开发
2015/10/02 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
2017/02/04 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
2017/06/17 PHP
jQuery 中关于CSS操作部分使用说明
2007/06/10 Javascript
javawscript 三级菜单的实现原理
2009/07/01 Javascript
网页自动跳转代码收集
2009/09/27 Javascript
jquery垂直公告滚动实现代码
2013/12/08 Javascript
使用JS或jQuery模拟鼠标点击a标签事件代码
2014/03/10 Javascript
Js+Jq获取URL参数的集中方法示例代码
2014/05/20 Javascript
jQuery中常用动画效果函数(日常整理)
2016/09/17 Javascript
jQuery解析XML 详解及方法总结
2016/09/28 Javascript
JavaScript之RegExp_动力节点Java学院整理
2017/06/29 Javascript
javascript深拷贝、浅拷贝和循环引用深入理解
2018/05/27 Javascript
koa上传excel文件并解析的实现方法
2018/08/09 Javascript
NodeJs操作MongoDB教程之分页功能以及常见问题
2019/04/09 NodeJs
node后端服务保活的实现
2019/11/10 Javascript
[59:36]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第二场
2018/04/04 DOTA
[01:33:30]DOTA2-DPC中国联赛 正赛 RNG vs Phoenix BO3 第二场 2月5日
2021/03/11 DOTA
Python实现矩阵加法和乘法的方法分析
2017/12/19 Python
Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
2018/01/11 Python
pycharm 在windows上编辑代码用linux执行配置的方法
2018/10/27 Python
解决Python中定时任务线程无法自动退出的问题
2019/02/18 Python
Python 如何提高元组的可读性
2019/08/26 Python
基于python全局设置id 自动化测试元素定位过程解析
2019/09/04 Python
结合OpenCV与TensorFlow进行人脸识别的实现
2019/10/10 Python
Amara德国:家居饰品、设计师品牌和豪华礼品
2019/05/20 全球购物
如何通过jdbc调用存储过程
2012/04/19 面试题
普宁寺导游词
2015/02/04 职场文书
python实现语音常用度量方法的代码详解
2021/05/25 Python
Python Pandas常用函数方法总结
2021/06/15 Python
如何使用分区处理MySQL的亿级数据优化
2021/06/18 MySQL
详解Python中的进程和线程
2021/06/23 Python