Python使用matplotlib 画矩形的三种方式分析


Posted in Python onOctober 31, 2019

本文实例讲述了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使用matplotlib 画矩形的三种方式分析

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
Python写的服务监控程序实例
Jan 31 Python
Django中的“惰性翻译”方法的相关使用
Jul 27 Python
Python3.6日志Logging模块简单用法示例
Jun 14 Python
利用Python如何批量更新服务器文件
Jul 29 Python
win7 x64系统中安装Scrapy的方法
Nov 18 Python
linux查找当前python解释器的位置方法
Feb 20 Python
Python中Unittest框架的具体使用
Aug 27 Python
在Django中实现添加user到group并查看
Nov 18 Python
pytorch实现onehot编码转为普通label标签
Jan 02 Python
如何搭建pytorch环境的方法步骤
May 06 Python
基于Keras的格式化输出Loss实现方式
Jun 17 Python
推荐技术人员一款Python开源库(造数据神器)
Jul 08 Python
python实现操作文件(文件夹)
Oct 31 #Python
python用requests实现http请求代码实例
Oct 31 #Python
python zip()函数使用方法解析
Oct 31 #Python
python实现按首字母分类查找功能
Oct 31 #Python
利用python Selenium实现自动登陆京东签到领金币功能
Oct 31 #Python
python+Django实现防止SQL注入的办法
Oct 31 #Python
Python 爬虫实现增加播客访问量的方法实现
Oct 31 #Python
You might like
创建无限极分类树型结构的简单方法
2017/06/20 PHP
PHP实现文件上传操作和封装
2020/03/04 PHP
通过JAVAScript实现页面自适应
2007/01/19 Javascript
jQuery编辑器KindEditor4.1.4代码高亮显示设置教程
2013/03/01 Javascript
js判断选择时间不能小于当前时间的示例代码
2013/09/24 Javascript
js操作label给label赋值及取label的值示例
2013/11/07 Javascript
JavaScript-RegExp对象只能使用一次问题解决方法
2014/06/23 Javascript
Javascript闭包用法实例分析
2015/01/23 Javascript
ECMAScript5(ES5)中bind方法使用小结
2015/05/07 Javascript
jquery中表单 多选框的一种巧妙写法
2015/09/06 Javascript
微信小程序 弹幕功能简单实例
2017/02/14 Javascript
推荐VSCode 上特别好用的 Vue 插件之vetur
2017/09/14 Javascript
微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法
2017/12/14 Javascript
基于JavaScript实现瀑布流布局
2018/08/15 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
2018/12/17 Javascript
vue中eslintrc.js配置最详细介绍
2018/12/21 Javascript
微信小程序登录对接Django后端实现JWT方式验证登录详解
2019/07/29 Javascript
VUE注册全局组件和局部组件过程解析
2019/10/10 Javascript
axios 实现post请求时把对象obj数据转为formdata
2019/10/31 Javascript
vue-video-player 解决微信自动全屏播放问题(横竖屏导致样式错乱问题)
2020/02/25 Javascript
JS时间戳与日期格式互相转换的简单方法示例
2021/01/30 Javascript
[52:10]LGD vs Optic Supermajor小组赛D组胜者组决赛 BO3 第二场 6.3
2018/06/04 DOTA
Python写入CSV文件的方法
2015/07/08 Python
python的paramiko模块实现远程控制和传输示例
2017/10/13 Python
python版微信跳一跳游戏辅助
2018/01/11 Python
python爬取足球直播吧五大联赛积分榜
2018/06/13 Python
Python基于network模块制作电影人物关系图
2020/06/19 Python
优衣库美国官网:UNIQLO美国
2018/04/14 全球购物
网络工程师个人的自我评价范文
2013/10/01 职场文书
广告设计专业自荐信范文
2013/11/14 职场文书
中文师范生自荐信
2014/01/30 职场文书
工作期间打牌检讨书范文
2014/11/20 职场文书
工会文体活动总结
2015/05/07 职场文书
结婚当天新郎保证书
2015/05/08 职场文书
自书遗嘱范文
2015/08/07 职场文书
敬业奉献模范事迹材料(2016精选版)
2016/02/26 职场文书