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 相关文章推荐
pymongo实现控制mongodb中数字字段做加法的方法
Mar 26 Python
python实现TCP服务器端与客户端的方法详解
Apr 30 Python
详解Django中的过滤器
Jul 16 Python
Python切片操作深入详解
Jul 27 Python
Python多线程原理与用法实例剖析
Jan 22 Python
Python中如何使用if语句处理列表实例代码
Feb 24 Python
python多线程扫描端口(线程池)
Sep 04 Python
用OpenCV将视频分解成单帧图片,图片合成视频示例
Dec 10 Python
Python语言异常处理测试过程解析
Jan 08 Python
keras实现多GPU或指定GPU的使用介绍
Jun 17 Python
Django使用channels + websocket打造在线聊天室
May 20 Python
python获取对象信息的实例详解
Jul 07 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时间戳使用实例代码
2008/06/07 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
2015/02/08 PHP
php用ini_get获取php.ini里变量值的方法
2015/03/04 PHP
WordPress中注册菜单与调用菜单的方法详解
2015/12/18 PHP
实例分析基于PHP微信网页获取用户信息
2017/11/24 PHP
JavaScript DOM 学习第九章 选取范围的介绍
2010/02/19 Javascript
使用 JScript 创建 .exe 或 .dll 文件的方法
2011/07/13 Javascript
浅谈JavaScript字符集
2014/05/22 Javascript
推荐一款jQuery插件模板
2015/01/09 Javascript
BootStrap入门教程(一)之可视化布局
2016/09/19 Javascript
详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
2017/01/09 Javascript
微信小程序微信支付接入开发实例详解
2017/04/12 Javascript
Require.JS中的几种define定义方式示例
2017/06/01 Javascript
Express使用html模板的详细代码
2017/09/18 Javascript
详解Vue 全局引入bass.scss 处理方案
2018/03/26 Javascript
angularjs实现对表单输入改变的监控(ng-change和watch两种方式)
2018/08/29 Javascript
JS实现可视化文件上传
2018/09/08 Javascript
vuex页面刷新后数据丢失的方法
2019/01/17 Javascript
详解nvm管理多版本node踩坑
2019/07/26 Javascript
小程序按钮避免多次调用接口和点击方案实现(不用showLoading)
2020/04/15 Javascript
python学习之编写查询ip程序
2016/02/27 Python
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
2017/12/12 Python
python jieba分词并统计词频后输出结果到Excel和txt文档方法
2018/02/11 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
Python装饰器语法糖
2019/01/02 Python
Python实现九宫格式的朋友圈功能内附“马云”朋友圈
2019/05/07 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
Python中的None与 NULL(即空字符)的区别详解
2020/09/24 Python
澳大利亚在线购买儿童玩具:Toy Universe
2017/12/28 全球购物
英国领先的电子、技术和办公用品购物网站:Ebuyer
2018/04/04 全球购物
英国豪华家具和经典家居饰品购物网站:OKA
2020/06/05 全球购物
什么是重载?CTS、CLS和CLR分别做何解释
2012/05/06 面试题
旅游管理毕业生自荐书
2014/02/02 职场文书
运动会通讯稿150字
2014/02/15 职场文书
2014年药店店长工作总结
2014/11/17 职场文书
Java代码规范与质量检测插件SonarLint的使用
2022/08/05 Java/Android