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 修改文件指定行的方法
May 15 Python
python解析中国天气网的天气数据
Mar 21 Python
基于Python闭包及其作用域详解
Aug 28 Python
python中的字典操作及字典函数
Jan 03 Python
Python实现PS图像调整之对比度调整功能示例
Jan 26 Python
用Python写一个模拟qq聊天小程序的代码实例
Mar 06 Python
Python使用sqlalchemy模块连接数据库操作示例
Mar 13 Python
python原类、类的创建过程与方法详解
Jul 19 Python
python multiprocessing模块用法及原理介绍
Aug 20 Python
Python协程操作之gevent(yield阻塞,greenlet),协程实现多任务(有规律的交替协作执行)用法详解
Oct 14 Python
Jupyter notebook如何实现指定浏览器打开
May 13 Python
Python2手动安装更新pip过程实例解析
Jul 16 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与已存在的Java应用程序集成
2006/10/09 PHP
PHP的SQL注入实现(测试代码安全不错)
2011/02/27 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
JavaScript高级程序设计
2006/12/29 Javascript
jQuery get和post 方法传值注意事项
2009/11/03 Javascript
Jquery Ajax学习实例5 向WebService发出请求,返回泛型集合数据的异步调用
2010/03/17 Javascript
巧用replace将文字表情替换为图片
2014/04/17 Javascript
javascript event在FF和IE的兼容传参心得(绝对好用)
2014/07/10 Javascript
jQuery()方法的第二个参数详解
2015/04/29 Javascript
详解js中class的多种函数封装方法
2016/01/03 Javascript
javascript实现鼠标点击页面 移动DIV
2016/12/02 Javascript
js中小数向上取整数,向下取整数,四舍五入取整数的实现(必看篇)
2017/02/13 Javascript
基于HTML5+JS实现本地图片裁剪并上传功能
2017/03/24 Javascript
fckeditor部署到weblogic出现xml无法读取及样式不能显示问题的解决方法
2017/03/24 Javascript
ES6下子组件调用父组件的方法(推荐)
2018/02/23 Javascript
在vue项目中使用codemirror插件实现代码编辑器功能
2019/08/27 Javascript
微信小程序scroll-view锚点链接滚动跳转功能
2019/12/12 Javascript
vue使用video插件vue-video-player的示例
2020/10/03 Javascript
[03:05]DOTA2英雄基础教程 嗜血狂魔
2013/12/10 DOTA
[54:43]DOTA2-DPC中国联赛 正赛 CDEC vs Dynasty BO3 第一场 2月22日
2021/03/11 DOTA
python实现字符串和日期相互转换的方法
2015/05/13 Python
Python 爬虫图片简单实现
2017/06/01 Python
Python RabbitMQ消息队列实现rpc
2018/05/30 Python
python识别图像并提取文字的实现方法
2019/06/28 Python
python flask中动态URL规则详解
2019/11/22 Python
详解Python中pyautogui库的最全使用方法
2020/04/01 Python
Python如何定义接口和抽象类
2020/07/28 Python
Python自动化之UnitTest框架实战记录
2020/09/08 Python
漫威玩具服装及周边商品官方购物网站:Marvel Shop
2019/05/11 全球购物
解释一下钝化(Swap out)
2016/12/26 面试题
高级护理实习生自荐信
2013/09/28 职场文书
便利店的创业计划书
2014/01/15 职场文书
法制演讲稿
2014/09/10 职场文书
领导干部群众路线个人对照检查材料思想汇报
2014/09/30 职场文书
谢师宴学生致辞
2015/07/27 职场文书
python基础之文件操作
2021/10/24 Python