Opencv绘制多边形不显示

Opencv绘制多边形不显示

如果图片是由torch.Tensor转换而来,直接使用Opencv进行多边形绘制(或其他任意图形),绘图操作不会生效。

这个问题是我在使用icdar15数据集时发现的,代码如下:

rects = rects_tensor.data.numpy().reshape((-1,4,2)).astype(np.int32) * 4
img = (img_tensor.data.numpy().transpose(1,2,0) * 255).astype(np.uint8)
cv2.polylines(img,rects,True,(255,0,0),2)
plt.figure(figsize=(8,8))
plt.imshow(img)
绘制结果

解决这个问题只需将img重新使用opencv进行一次resize即可:

rects = rects_tensor.data.numpy().reshape((-1,4,2)).astype(np.int32) * 4
img = (img_tensor.data.numpy().transpose(1,2,0) * 255).astype(np.uint8)
img = cv2.resize(img,img.shape[:2])
cv2.polylines(img,rects,True,(255,0,0),2)
plt.figure(figsize = (8,8))
plt.imshow(img)
绘制结果
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容