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发送arp欺骗攻击代码分析
Jan 16 Python
Python 2.7.x 和 3.x 版本的重要区别小结
Nov 28 Python
在Python中利用Pandas库处理大数据的简单介绍
Apr 07 Python
Python2与python3中 for 循环语句基础与实例分析
Nov 20 Python
Python读取图片为16进制表示简单代码
Jan 19 Python
Python断言assert的用法代码解析
Feb 03 Python
python Opencv将图片转为字符画
Feb 19 Python
pandas 使用均值填充缺失值列的小技巧分享
Jul 04 Python
Django 框架模型操作入门教程
Nov 05 Python
python os.path.isfile()因参数问题判断错误的解决
Nov 29 Python
在matplotlib中改变figure的布局和大小实例
Apr 23 Python
对python中list的五种查找方法说明
Jul 13 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无限分类的深入理解
2013/06/02 PHP
smarty模板判断数组为空的方法
2015/06/10 PHP
Zend Framework连接Mysql数据库实例分析
2016/03/19 PHP
js中获取事件对象的方法小结
2011/03/13 Javascript
Javascript中判断变量是数组还是对象(array还是object)
2013/08/14 Javascript
javascript的switch用法注意事项分析
2015/02/02 Javascript
如何实现chrome浏览器关闭页面时弹出“确定要离开此面吗?”
2015/03/05 Javascript
js仿QQ中对联系人向左滑动、滑出删除按钮的操作
2016/04/07 Javascript
JavaScript中用let语句声明作用域的用法讲解
2016/05/20 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
2016/12/20 Javascript
jquery实现左右轮播切换效果
2018/01/01 jQuery
Angular 5.x 学习笔记之Router(路由)应用
2018/04/08 Javascript
JavaScript累加、迭代、穷举、递归等常用算法实例小结
2018/05/08 Javascript
JS实现图片上传多次上传同一张不生效的处理方法
2018/08/06 Javascript
JS Object.preventExtensions(),Object.seal()与Object.freeze()用法实例分析
2018/08/25 Javascript
通过实例解析javascript Date对象属性及方法
2020/11/04 Javascript
Python实现的RSS阅读器实例
2015/07/25 Python
使用Python读写文本文件及编写简单的文本编辑器
2016/03/11 Python
Python对象转JSON字符串的方法
2016/04/27 Python
[原创]Python入门教程1. 基本运算【四则运算、变量、math模块等】
2018/10/28 Python
一百行python代码将图片转成字符画
2021/02/19 Python
python xpath获取页面注释的方法
2019/01/14 Python
Django框架实现的分页demo示例
2019/05/25 Python
python:目标检测模型预测准确度计算方式(基于IoU)
2020/01/18 Python
Python脚本破解压缩文件口令实例教程(zipfile)
2020/06/14 Python
澳大利亚最好的在线时尚精品店:Princess Polly
2018/01/03 全球购物
业务员岗位职责范本
2013/12/15 职场文书
乔迁宴答谢词
2014/01/21 职场文书
2014年两会学习心得体会
2014/03/10 职场文书
2014年服务员个人工作总结
2014/12/23 职场文书
预备党员自我评价范文
2015/03/04 职场文书
毕业证明书
2015/06/19 职场文书
教师节表彰会主持词
2015/07/06 职场文书
python绘制简单直方图(质量分布图)的方法
2022/04/21 Python
Python循环之while无限迭代
2022/04/30 Python