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中的迭代器漫谈
Feb 03 Python
Python中处理字符串的相关的len()方法的使用简介
May 19 Python
win与linux系统中python requests 安装
Dec 04 Python
Python 通过pip安装Django详细介绍
Apr 28 Python
Python创建对称矩阵的方法示例【基于numpy模块】
Oct 12 Python
djang常用查询SQL语句的使用代码
Feb 15 Python
python对Excel按条件进行内容补充(推荐)
Nov 24 Python
在Python中使用MongoEngine操作数据库教程实例
Dec 03 Python
python numpy实现多次循环读取文件 等间隔过滤数据示例
Mar 14 Python
Python基于time模块表示时间常用方法
Jun 18 Python
Python就将所有的英文单词首字母变成大写
Feb 12 Python
Python图片检索之以图搜图
May 31 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来写记数器(详细介绍)
2006/10/09 PHP
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
2012/09/07 PHP
Thinkphp实现MySQL读写分离操作示例
2014/06/25 PHP
php计算整个目录大小的方法
2015/06/01 PHP
利用PHP_XLSXWriter代替PHPExcel的方法示例
2017/07/16 PHP
PHP双向链表定义与用法示例
2018/01/31 PHP
jQuery中scrollLeft()方法用法实例
2015/01/16 Javascript
基于jQuery实现点击弹出层实例代码
2016/01/01 Javascript
JavaScript实现九九乘法表的简单实例
2016/06/07 Javascript
你有必要知道的10个JavaScript难点
2017/07/25 Javascript
不得不看之JavaScript构造函数及new运算符
2017/08/21 Javascript
jQuery实现的form转json经典示例
2017/10/10 jQuery
浅谈Vue网络请求之interceptors实际应用
2018/02/28 Javascript
菊花转动的jquery加载动画效果
2018/08/19 jQuery
angular6的table组件开发的实现示例
2018/12/26 Javascript
微信小程序中悬浮窗功能的实现代码
2019/08/02 Javascript
layui中的switch开关实现方法
2019/09/03 Javascript
vue项目前端微信JSAPI与外部H5支付相关实现过程及常见问题
2020/04/14 Javascript
在vue项目中利用popstate处理页面返回的操作介绍
2020/08/06 Javascript
在Vue中使用HOC模式的实现
2020/08/23 Javascript
[01:34]DAC2018主赛事第四日五佳镜头 Gh巨牙海民助Miracle-死里逃生
2018/04/07 DOTA
Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
2015/04/08 Python
python 统计一个列表当中的每一个元素出现了多少次的方法
2018/11/14 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
2019/04/06 Python
Win10环境python3.7安装dlib模块趟过的坑
2019/08/01 Python
python多线程使用方法实例详解
2019/12/30 Python
python实现KNN近邻算法
2020/12/30 Python
thinkphp5 路由分发原理
2021/03/18 PHP
HTML5 Canvas图像模糊完美解决办法
2018/02/06 HTML / CSS
后勤人员岗位职责
2013/12/17 职场文书
镇人大副主席民主生活会对照检查材料思想汇报
2014/10/01 职场文书
毕业证明模板
2015/06/19 职场文书
2015年教师节感言
2015/08/03 职场文书
回门宴新娘答谢词
2015/09/29 职场文书
python模块与C和C++动态库相互调用实现过程示例
2021/11/02 Python
mysql 生成连续日期及变量赋值
2022/03/20 MySQL