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