pythonmatplotlib.pyplot画矩形图以及a()
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.show()
fast rcnn中将绘制图⽚和画矩阵相结合:
def _vis_minibatch(im_blob, rois_blob, labels_blob, overlaps):matplotlib中subplot
"""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.Rectangle((roi[0], roi[1]), roi[2] - roi[0],
roi[3] - roi[1], fill=False,
edgecolor='r', linewidth=3)
)
plt.show()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论