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 相关文章推荐
Python3基础之输入和输出实例分析
Aug 18 Python
Pandas 对Dataframe结构排序的实现方法
Apr 10 Python
用TensorFlow实现戴明回归算法的示例
May 02 Python
在Python 字典中一键对应多个值的实例
Feb 03 Python
Python3字符串encode与decode的讲解
Apr 02 Python
在python中将list分段并保存为array类型的方法
Jul 15 Python
Python如何使用k-means方法将列表中相似的句子归类
Aug 08 Python
python画微信表情符的实例代码
Oct 09 Python
python列表生成器迭代器实例解析
Dec 19 Python
pycharm通过ssh连接远程服务器教程
Feb 12 Python
Python基于Tkinter编写crc校验工具
May 06 Python
Selenium浏览器自动化如何上传文件
Apr 06 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
关于手调机和数调机的选择
2021/03/02 无线电
如何使用Strace调试工具
2013/06/03 PHP
Laravel中扩展Memcached缓存驱动实现使用阿里云OCS缓存
2015/02/10 PHP
功能强大的PHP POST提交数据类
2016/07/15 PHP
如何运行/调试你的PHP代码
2020/10/23 PHP
原来Jquery.load的方法可以一直load下去
2011/03/28 Javascript
js运动框架_包括图片的淡入淡出效果
2013/05/11 Javascript
js 判断图片是否加载完以及实现图片的预下载
2014/08/14 Javascript
jquery实现将获取的颜色值转换为十六进制形式的方法
2014/12/20 Javascript
JavaScript前端开发之实现二进制读写操作
2015/11/04 Javascript
jquery实现全屏滚动
2015/12/28 Javascript
浅谈jQuery中的checkbox问题
2016/08/10 Javascript
jQuery弹出窗口简单实现代码
2017/03/09 Javascript
详解Vue 事件驱动和依赖追踪
2017/04/22 Javascript
JavaScript与Java正则表达式写法的区别介绍
2017/08/15 Javascript
原生js实现简单的模态框示例
2017/09/08 Javascript
angular中ui calendar的一些使用心得(推荐)
2017/11/03 Javascript
详解Angular操作cookies方法
2018/06/01 Javascript
angular 组件通信的几种实现方式
2018/07/13 Javascript
React降级配置及Ant Design配置详解
2018/12/27 Javascript
vue+Element-ui实现分页效果
2020/11/15 Javascript
Js利用正则表达式去除字符串的中括号
2020/11/23 Javascript
Python单元测试框架unittest使用方法讲解
2015/04/13 Python
win10系统下python3安装及pip换源和使用教程
2020/01/06 Python
美国第二大团购网站:LivingSocial
2016/07/24 全球购物
印度低票价航空公司:GoAir
2017/10/11 全球购物
意大利珠宝店:Luxury Zone
2019/01/05 全球购物
请问如下代码执行后a和b的值分别是什么
2016/05/05 面试题
介绍一下Java中标识符的命名规则
2014/02/03 面试题
公司员工的自我评价范例
2013/11/01 职场文书
公司道歉信范文
2014/01/09 职场文书
查环查孕证明
2014/01/10 职场文书
优秀毕业自我鉴定
2014/02/15 职场文书
2014年财务个人工作总结
2014/12/08 职场文书
2015年安全员工作总结范文
2015/04/22 职场文书
Win11 KB5015814遇安装失败 影响开始菜单性能解决方法
2022/07/15 数码科技