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实现的去除win下文本文件头部BOM的代码
Feb 10 Python
python循环监控远程端口的方法
Mar 14 Python
Python中的anydbm模版和shelve模版使用指南
Jul 09 Python
Python+tkinter模拟“记住我”自动登录实例代码
Jan 16 Python
对Python捕获控制台输出流的方法详解
Jan 07 Python
django框架防止XSS注入的方法分析
Jun 21 Python
Python的互斥锁与信号量详解
Sep 12 Python
Python基于Socket实现简单聊天室
Feb 17 Python
python编程进阶之异常处理用法实例分析
Feb 21 Python
5行Python代码实现图像分割的步骤详解
May 25 Python
Python 删除List元素的三种方法remove、pop、del
Nov 16 Python
使用numpngw和matplotlib生成png动画的示例代码
Jan 24 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
php短域名转换为实际域名函数
2011/01/17 PHP
PHP中将网页导出为Word文档的代码
2012/05/25 PHP
php求两个目录的相对路径示例(php获取相对路径)
2014/03/27 PHP
PHP字符串word末字符实现大小写互换的方法
2014/11/10 PHP
php接口数据加密、解密、验证签名
2015/03/12 PHP
自动更新作用
2006/10/08 Javascript
JavaScript入门教程(11) js事件处理
2009/01/31 Javascript
javascript ajax 仿百度分页函数
2013/10/29 Javascript
jQuery实现点击文本框弹出热门标签的提示效果
2013/11/17 Javascript
jQuery中text() val()和html()的区别实例详解
2016/06/28 Javascript
最佳的JavaScript错误处理实践
2016/07/16 Javascript
AngularJS入门教程之AngularJS 模板
2016/08/18 Javascript
Javascript动画效果(4)
2016/10/11 Javascript
jQuery ajax实现省市县三级联动
2021/03/07 Javascript
js实现适配不同的屏幕大小
2017/04/10 Javascript
Angular通过angular-cli来搭建web前端项目的方法
2017/07/27 Javascript
微信小程序实现表单校验功能
2020/03/30 Javascript
Vue-Access-Control 前端用户权限控制解决方案
2017/12/01 Javascript
对vue中v-on绑定自定事件的实例讲解
2018/09/06 Javascript
ajaxfileupload.js实现上传文件功能
2019/04/19 Javascript
node.js中 mysql 增删改查操作及async,await处理实例分析
2020/02/11 Javascript
[04:12]第二届DOTA2亚洲邀请赛选手传记-Newbee.Sccc
2017/04/03 DOTA
[05:15]2018年度CS GO社区贡献奖-完美盛典
2018/12/16 DOTA
python调用staf自动化框架的方法
2018/12/26 Python
Python3中_(下划线)和__(双下划线)的用途和区别
2019/04/26 Python
python实现微信定时每天和女友发送消息
2019/04/29 Python
python读取并定位excel数据坐标系详解
2019/06/26 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
2020/04/22 Python
python 下划线的不同用法
2020/10/24 Python
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
小学教师寄语大全
2014/04/03 职场文书
弘扬焦裕禄精神走群众路线思想汇报
2014/09/12 职场文书
写给女朋友的保证书
2015/05/09 职场文书
公安机关起诉意见书
2015/05/20 职场文书
趣味运动会赞词
2015/07/22 职场文书
车间安全生产管理制度
2015/08/06 职场文书