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实现用户登陆邮件通知的方法
Jul 09 Python
python搭建虚拟环境的步骤详解
Sep 27 Python
关于Django外键赋值问题详解
Aug 13 Python
python利用OpenCV2实现人脸检测
Apr 16 Python
Python实现改变与矩形橡胶的线条的颜色代码示例
Jan 05 Python
详解python读取image
Apr 03 Python
使用 django orm 写 exists 条件过滤实例
May 20 Python
Python 程序报错崩溃后如何倒回到崩溃的位置(推荐)
Jun 23 Python
Python3爬虫关于识别检验滑动验证码的实例
Jul 30 Python
python安装cx_Oracle和wxPython的方法
Sep 14 Python
python自动化发送邮件实例讲解
Jan 04 Python
python pillow库的基础使用教程
Jan 13 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
typecho插件编写教程(三):保存配置
2015/05/28 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
2017/05/20 PHP
Laravel框架实现定时发布任务的方法
2018/08/16 PHP
PHP文件操作简单介绍及函数汇总
2020/12/11 PHP
firefox事件处理之自动查找event的函数(用于onclick=foo())
2010/08/05 Javascript
基于jquery实现等比缩放图片
2014/12/03 Javascript
Backbone.js中的集合详解
2015/01/14 Javascript
js+HTML5实现canvas多种颜色渐变效果的方法
2015/06/05 Javascript
JavaScript forEach()遍历函数使用及介绍
2015/07/08 Javascript
jQuery+CSS实现的网页二级下滑菜单效果
2015/08/25 Javascript
jQuery+canvas实现的球体平抛及颜色动态变换效果
2016/01/28 Javascript
jQuery插件Flexslider实现图片轮播、图文结合滑动切换效果
2020/04/16 Javascript
jquery日历插件e-calendar升级版
2016/11/10 Javascript
详解Jquery Easyui的验证扩展
2017/01/09 Javascript
nodejs socket实现的服务端和客户端功能示例
2017/06/02 NodeJs
JavaScript文件的同步和异步加载的实现代码
2017/08/19 Javascript
浅谈Angular4中常用管道
2017/09/27 Javascript
js数组方法reduce经典用法代码分享
2018/01/07 Javascript
nodejs结合socket.io实现websocket通信功能的方法
2018/01/12 NodeJs
微信小程序block的使用教程
2018/04/01 Javascript
JavaScript数据结构与算法之二叉树添加/删除节点操作示例
2019/03/01 Javascript
Vue引入Stylus知识点总结
2020/01/16 Javascript
vue 使用lodash实现对象数组深拷贝操作
2020/09/10 Javascript
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
详解python列表(list)的使用技巧及高级操作
2019/08/15 Python
python3实现用turtle模块画一棵随机樱花树
2019/11/21 Python
用python画一只可爱的皮卡丘实例
2019/11/21 Python
使用Python爬取弹出窗口信息的实例
2020/03/14 Python
sort命令的作用和用法
2012/11/04 面试题
《可爱的动物》教学反思
2014/02/22 职场文书
班级团队活动方案
2014/08/14 职场文书
卖车协议书范例
2014/09/16 职场文书
房屋租赁合同协议书范本
2014/10/19 职场文书
党性分析材料格式
2014/12/19 职场文书
仓管员岗位职责
2015/02/03 职场文书
小学语文教学反思范文
2016/03/03 职场文书