主要代码:

        canvas = cv2.imread('2.jpg')  # 读取图片做背景point_size = 5white = (255, 255, 255)green = (0, 255, 0)blue = (0, 0, 255)red = (255, 0, 0)yellow = (0, 255, 255)# 绘制雷达显示器界面的同心圆cv.circle(canvas, (350, 350), 100, green, 2)cv.circle(canvas, (350, 350), 200, green, 2)cv.circle(canvas, (350, 350), 300, green, 2)# 绘制十字线cv.line(canvas, (50, 350), (650, 350), green, 2)cv.line(canvas, (350, 50), (350, 650), green, 2)start_point = (int(350 - 300 * np.sin(0.25 * np.pi)), int(350 - 300 * np.sin(0.25 * np.pi)))end_point = (int(350 + 300 * np.sin(0.25 * np.pi)), int(350 + 300 * np.sin(0.25 * np.pi)))# 绘制斜线cv.line(canvas, start_point, end_point, white, 1)start_point = (int(350 - 300 * np.sin(0.25 * np.pi)), int(350 + 300 * np.sin(0.25 * np.pi)))end_point = (int(350 + 300 * np.sin(0.25 * np.pi)), int(350 - 300 * np.sin(0.25 * np.pi)))cv.line(canvas, start_point, end_point, white, 1)# 添加正北指向和距离刻度文字font = cv.FONT_HERSHEY_SIMPLEXcv.putText(canvas, "0", (340, 40), font, 1, (255, 255, 255), 1)cv.putText(canvas, "1.2", (5, 360), font, 1, (255, 255, 255), 1)cv.putText(canvas, "1.2", (650, 360), font, 1, (255, 255, 255), 1)# 定义绘制扫描辉亮函数,ang为扫描线所在角度位置def drawScanner(ang):img = np.zeros((700, 700, 3), np.uint8)a = 255 / 60  # 将颜色值255等分60,60为辉亮夹角for i in range(60):# 逐次绘制1度扇形,颜色从255到0cv.ellipse(img, (350, 350), (300, 300), 1, ang - i, ang - i - 1,(255 - i * a, 255 - i * a, 255 - i * a), -1)return img# b1 = random.randint(200,220)# a = math.pi*0.25# b = b1a = []b = []z = loadtxt("22.txt")a.append(z[:,0])b.append(z[:,1])pointX = []pointY = []temp = np.copy(canvas)for ii in range(len(b[0])):a_i = a[0][ii]b_i = b[0][ii]av = a_i * math.pibr = b_i# 方位角大于0小于90°if  0 < av < math.pi/2 :pointStartX = int(350 + math.cos(av) * br / 4)pointStartY = int(350 - br * math.sin(av) / 4)elif av == 0:pointStartX = int(350)pointStartY = int(350 + br/4)elif av == math.pi / 2:pointStartX = int (350)pointStartY = int (350 - br/4)# 方位角大于90°小于180°elif math.pi > av >math.pi / 2:pointStartX = int(350 - math.cos(av) * br / 4)pointStartY = int(350 - br * math.sin(av - math.pi / 2) / 4)# 方位角大于180°小于270°elif av == math.pi*3/2:pointStartX = int(350)pointStartY = int(350 + br/4)elif math.pi * 3 / 2 > av >= math.pi:pointStartX = int(350 - math.cos(av) * br / 4)pointStartY = int(350 + br * math.sin(av - math.pi) / 4)# 方位角大于270°小于360°elif av == math.pi*2:pointStartX = int(350 + br/4)pointStartY = int(350)else:pointStartX = int(350 + math.cos(av) * br / 4)pointStartY = int(350 + br * math.sin(math.pi * 2 - av))pointX.append(pointStartX)pointY.append(pointStartY)# temp = np.copy(canvas)for i in range(len(pointX)):cv.circle(canvas, (pointX[i], pointY[i]), point_size, red, 9)  # 目标点# 目标标号cv.putText(canvas, f"-{i+1}", (pointX[i], pointY[i]+2), font, 1, (255, 0, 0), 2)

运行结果

读取图片做OpenCV画的雷达图的背景相关推荐

  1. python opencv 实现从一个文件夹中读取图片做切割处理后放入另一个文件夹

    python opencv 实现从一个文件夹中读取图片切割处理后放入另一个文件夹. 实现的功能是把一个文件夹里的图片作处理,即把原图片中心为起点切割成1536*1536的图片,原图片必须大于这个的大小 ...

  2. python动态图片转字符画_GIF动态图,视频?都能用Python转换成字符画图像

    字符画是一种由字母.标点或其他字符组成的图画,它产生于互联网时代,在聊天软件中使用较多,本文我们看一下如何将自己喜欢的图片转成字符画. 静态图片 首先,我们来演示将静态图片转为字符画,功能实现主要用到 ...

  3. python opencv 读取图片_Python opencv 读取图像

    对于 matlab 起家做数字图像处理的人来讲都非常适应matlab对图像处理的操作和思路,尤其是它可以非常方便直观的看到图像的RGB值. 由于最近在研究深度学习的计算机视觉方面的东西,于是完全自学接 ...

  4. Python 实现 图片转 字符画,静态图、GIF 都能转

    源码在python学习交流q群:733089476 获取 字符画是一种由字母.标点或其他字符组成的图画,它产生于互联网时代,在聊天软件中使用较多,本文我们看一下如何将自己喜欢的图片转成字符画. 静态图 ...

  5. android朋友圈图片背景图片,做个很哇塞的女孩背景图朋友圈

    做个很哇塞的女孩背景图朋友圈是全新的一系列的图片,也是抖音最近非常火的一组图片,可以用于发朋友圈,手机壁纸等,因为这一组图片受到了很多女孩子的喜爱,也充分展现了女孩子自立自强的决心,所以很多小姐姐都用 ...

  6. php 读取图片bgr,OpenCV读取图像为BGR

    OpenCV读取图像为BGR 以下程序演示了如何将彩色图像作为BGR类型图像读取并使用JavaFX窗口显示. 在这里通过将IMREAD_COLOR标志传递给imread()方法以及保存彩色图像路径的S ...

  7. php 图片画图片格式,php 用图片处理函数画一张图

    一起来看看下面有一张图: 我们该怎么把这张图给画出来呢. 我们按照步骤能够分析出来: 1.画图 2.准备好画这张图需要的颜色 3.填充背景颜色 4.画两条对角线 5.在上面画一个圆 6.在圆上面画一个 ...

  8. matlab 4维图读取,Matlab或mathmatica画4维图问题

    现在有4维数据(不是解析表达式),想画一个三维图,函数值以颜色表示第4维,请问用Matlab或mathmatica怎么样实现?(不是散点图或切片图,画成表面图),先谢过了,如能现实必追加金币.4维数据 ...

  9. JavaScript 练手小技巧:我用canvas画出了王者荣耀英雄属性的雷达图

    新年伊始,学习不止. 顺带恭喜下自己博客点击量突破 20w~啦~~ 不容易啊~~ ----------------------------------------------------------- ...

最新文章

  1. linux获取最高权限并取消_Linux 更新glibc 漏洞 可以获取最高权限
  2. DWS和各异构数据库的差异对比
  3. ping 代理_Happy专访:Ping太高不是问题 换我不会像120一样比赛
  4. 通过实例学习如何使用telerik:RadListView控件
  5. python应该怎么自学-我是一个毫无基础的菜鸟,想自学Python,该怎么入手?
  6. GT考试(bzoj 1009)
  7. Apache Ignite的Node.js客户端使用入门
  8. java 创建学生信息类_java定义一个表示学生信息的类
  9. koa操作mongodb,封装mongdb操作方法
  10. 运维半夜给我打电话,弹幕服务产生大量异常日志,没办法起床排bug...
  11. mysql 安装是否成功,启动,查看配置文件,连接
  12. java 新建项目_java怎么新建项目?java新建项目实操案例
  13. 迅雷赚钱宝变砖TTL修复教程赚钱宝刷机
  14. TRNSYS 内区之间通风原理试验
  15. 大数据安全国内外技术发展现状与趋势现状
  16. java开发中推荐的防御sql注入方法_Java防止SQL注入
  17. 【104】ntvdm.exe占内存极大的问题
  18. 【Arduino实验12 1602 LCD显示】
  19. 用c语言给8051编程,8051单片机的C语言编程
  20. 重磅!GitHub突然宣布,对全球人免费开放全部核心功能

热门文章

  1. 蓝桥杯国赛 仓库布局
  2. python模拟浏览器下载文件_python第一个脚本,模拟浏览器下载文件
  3. 【案例研究】 | 应用智能算法预测宝钢1580热轧精轧自然宽展
  4. SSM配置logback日志
  5. linux gbk英文转unicode,GBK编码转Unicode编码转换表
  6. 计算机DIY调研报告,diy市场调研报告.doc
  7. 液压支架销轴力学计算分析研究_第45届等级奖论文---ZY4800/06/16.5D型薄煤层液压支架群组支护力学特性研究...
  8. PermissionError: [Errno 13] Permission denied: ‘E:\\data\\lianxi_out\\csv‘权限错误
  9. Java 集合List遍历删除
  10. 数据分析常用6种分析思路