plt的Rectangle参数:

    第一个参数是坐标(x,y),即矩形的画图的起点坐标,这个起点坐标不是一味地从左下角开始画,而是对应整个图中坐标原点,即(0,0)。

    第二个参数是矩形宽度

    第三个坐标是矩形高度

注意:在fast rcnn代码中,roi框是在图像中画出来的,而图像的原点在左上角,但坐标轴的原点在左下角,所以即使Rectangle中参数一模一样,但在图像和坐标轴中画出来的不一样。

plt.axis('off')表示不显示坐标轴

第一种代码:

import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111) rect = plt.Rectangle((0.1,0.1),0.5,0.3)
ax.add_patch(rect) plt.show()

第二种代码:

import matplotlib.pyplot as plt

fig = plt.figure()  #创建图
ax = fig.add_subplot(111) #创建子图 plt.gca().add_patch(plt.Rectangle((0.1,0.1),0.5,0.3))
plt.show()

当前的图表和子图可以使用plt.gcf()和plt.gca()获得,分别表示Get Current Figure和Get Current Axes。在pyplot模块中,许多函数都是对当前的Figure或Axes对象进行处理,比如说:plt.plot()实际上会通过plt.gca()获得当前的Axes对象ax,然后再调用ax.plot()方法实现真正的绘图。

fast rcnn中将绘制图片和画矩阵相结合:

def _vis_minibatch(im_blob, rois_blob, labels_blob, overlaps):
"""Visualize a mini-batch for debugging."""
import matplotlib.pyplot as plt
#print im_blob
count = 0
for i in xrange(rois_blob.shape[0]):
count += 1
rois = rois_blob[i, :]
print rois
im_ind = rois[0]
roi = rois[1:]
im = im_blob[im_ind, :, :, :].transpose((1, 2, 0)).copy()
im += cfg.PIXEL_MEANS
im = im[:, :, (2, 1, 0)]
im = im.astype(np.uint8)
cls = labels_blob[i]
plt.imshow(im)
#print 'class: ', cls, ' overlap: ', overlaps[i]
#print count
plt.gca().add_patch(
plt.Rectangle((roi[0], roi[1]), roi[2] - roi[0],
roi[3] - roi[1], fill=False,
edgecolor='r', linewidth=3)
)
plt.show()

最新文章

  1. synergy 使用记录
  2. Leetcode 263 Ugly Number 数论 类似质因数分解
  3. cf--2A
  4. [转]Golang Gob编码
  5. 应用程序域(Application Domain)
  6. 史上最完整的Android开发工具集合
  7. poj 1719 Shooting Contest
  8. MVC中Jqgrid的用法
  9. FPGA/CPLD设计思想与技巧
  10. bzoj 4300: 绝世好题 dp
  11. Controllers
  12. 大话F#和C#:是否会重蹈C#失败的覆辙?
  13. AS 学习笔记 for in 和 for each in
  14. Android NDK 简单介绍、工具安装、环境配置
  15. jave学习1--基础介绍
  16. html5利用websocket完成的推送功能
  17. 2017人生总结(MECE分析法)
  18. Autofac 简单示例
  19. Plickers——教师拿手机、学生拿卡片,就可以完成即时全员互动!
  20. python通过手机抓取微信公众号

热门文章

  1. Java按键事件KeyEvent
  2. 第一章 Java常用集合类总览
  3. 配置sonarqube+maven
  4. Java基础(九):抽象类
  5. 基于Java spring框架的微信企业号开发中关于js-sdk的配置
  6. 转: Eclipse设置、调优、使用 (强烈推荐)
  7. Unity3D中的欧拉角的理解
  8. Ejb in action(一)——开篇介绍
  9. js正则表达式/replace替换变量方法
  10. python多线程概念