Python使用matplotlib 画矩形的三种方式分析
作者:谢小帅 发布时间:2022-04-06 05:49:17
标签:Python,matplotlib,画矩形
本文实例讲述了Python使用matplotlib 画矩形的三种方式。分享给大家供大家参考,具体如下:
假设矩形两点坐标如下,分别为:x1, y1, x2, y2
cat_dict['bbox'][i] = (min_row, min_col, max_row, max_col)
1. plt.plot(x,y)
这种方式画的矩形 因为边距的问题 会放缩
plt.plot([cat_dict['bbox'][i][1], cat_dict['bbox'][i][3], cat_dict['bbox'][i][3], cat_dict['bbox'][i][1], cat_dict['bbox'][i][1]], # col
[cat_dict['bbox'][i][0], cat_dict['bbox'][i][0], cat_dict['bbox'][i][2], cat_dict['bbox'][i][2], cat_dict['bbox'][i][0]], # row
color=[c / 255 for c in label_colors[cat_idx]], marker='.', ms=0)
2. ax.add_line(Line2D)
添加 4 条直线的方式,比较繁琐
from matplotlib.lines import Line2D
color = [c / 255 for c in label_colors[cat_idx]]
ax.add_line(Line2D([cat_dict['bbox'][i][1], cat_dict['bbox'][i][3]],
[cat_dict['bbox'][i][0], cat_dict['bbox'][i][0]],
linewidth=2,
color=color))
ax.add_line(Line2D([cat_dict['bbox'][i][3], cat_dict['bbox'][i][3]],
[cat_dict['bbox'][i][0], cat_dict['bbox'][i][2]],
linewidth=2,
color=color))
ax.add_line(Line2D([cat_dict['bbox'][i][3], cat_dict['bbox'][i][1]],
[cat_dict['bbox'][i][2], cat_dict['bbox'][i][2]],
linewidth=2,
color=color))
ax.add_line(Line2D([cat_dict['bbox'][i][1], cat_dict['bbox'][i][1]],
[cat_dict['bbox'][i][2], cat_dict['bbox'][i][0]],
linewidth=2,
color=color))
3. plt.gca().add_patch(plt.Rectangle())
最好的一种实现方式,fast rcnn 也是这么用的,传送门
plt.gca().add_patch(plt.Rectangle(xy=(cat_dict['bbox'][i][1], cat_dict['bbox'][i][0]),
width=cat_dict['bbox'][i][3] - cat_dict['bbox'][i][1],
height=cat_dict['bbox'][i][2] - cat_dict['bbox'][i][0],
edgecolor=[c / 255 for c in label_colors[cat_idx]],
fill=False, linewidth=2))
希望本文所述对大家Python程序设计有所帮助。
来源:https://www.jianshu.com/p/8d14238d402a
0
投稿
猜你喜欢
- 一、写在前面本文基于64位windows系统(鼠标右键点击桌面“此电脑”图标——属性可查看电脑系统版本)、python3.x(pycharm
- Socket服务器是网络服务中常用的服务器。使用go语言实现这个业务场景是很容易的。这样的网络通讯,需要一个服务端和至少一个客户端。我们计划
- 开发背景:每次项目都要写数据库、烦死了。。然后就每次数据库都要花很多时间。烦死了!不如写个通用的增删查改,以不变应万变!特性:搭建通用增删查
- 有一个网站A想找别的网站作为代理商,在代理商的页面上插入自己的广告。它提供一个注册页面给代理商,代理商注册后,会得到一个ID,
- 在ASP中Request对象是获取客户端提交数据的一个很重要的对象,大家对他也是非常熟悉了。 虽然如此,还是经常有人问我下面的几种写法有什么
- 方法一:手动计算变量的梯度,然后更新梯度import torchfrom torch.autograd import Variable# 定
- 1. 实验说明问题要求:针对静态单赋值(SSA)形式的函数中间代码输入,输出函数返回值的范围实现思路: 基本根据 2013年在CGO会议上提
- 做一个将本地图片上传到mysql数据库的小实例,顺便也下载下来到桌面检测是否上传成功。在写代码之前得先在数据库中建立image表,用来存储图
- Python 是一种高级的,动态的,多泛型的编程语言。Python代码很多时候看起来就像是伪代码一样,因此你可以使用很少的几行可读性很高的代
- FCKeditor是目前互联网上最好的在线编辑器,功能强大,支持IE 5.5+ (Windows), Fire
- 删除重复记录,将TABLE_NAME中的不重复记录保存到#TABLE_NAME中select distinct&nbs
- 首先介绍下比较简单但必不可少且实用的知识,可以当手册查询,适合像我一样的新手看。PHP常用库函数介绍一、PHP字符串操作常用函数1.确定字符
- 春节休息了几天,今天上班第一天,最近混twitter混得比较多,经常要压缩URL,以前做了个书签用http://is.gd/压缩,后来发现了
- 一、项目需求前言:BBS上每个id对应一个用户,他们注册时候会填写性别(男、女、保密三选一)。经过检查,BBS注册用户的id对应1-3000
- 首先需要安装itchat库,可以pip install itchat安装,也可以在pycharm里安装# -*- coding:utf-8
- 函数input()的工作原理函数input()让程序暂停运行,等待用户输入一些文本。获取用户输入后,Python将其存储在一个变量中,以方便
- 本文主要给大家介绍了关于python实现循环购物车功能的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:示例代码# -*- co
- 本文实例讲述了Python实现telnet服务器的方法。分享给大家供大家参考。具体实现方法如下:import threading class
- 自定义模板403<!DOCTYPE html><html lang="en"><head&
- '定义变量 Dim cn,rs,Sql Sql = "sel