超详细讲解如何将标注文件中的坐标可视化在图像中,使用OpenCV可视化标注文件,cv2.rectangle和cv2.putText的使用
1、首先要明白标注文件中,每一个坐标的含义,有的是[x,y,w,h]有的是[x1,y1,x2,y2],所以要先搞清楚
2、如果不清楚,那就边可视化,边试试吧
3、需要连接opencv函数参数的含义
下面我先介绍一下OpenCV中用来画框和标注的函数
–1、cv2.rectangle(image,(x1,y1),(x2,y2),(0,0,0),2)
参数解释:
image:已经读取出来的图像,也就是画框的目标
(x1,y1):框左上角坐标
(x2,y2):框右下角坐标
(0,0,0):代表框RGB颜色,三个0是黑色,三个255是白色
2:代表字体大小
只要把上述参数传入,就能够在图像上画出指定框
–2、cv2.putText(image,“str”,(x,y),cv2.FONT_HERSHEY,1,(0,0,0),1)
参数解释:
image:已经读取出来的图像,也就是标注文字的目标
(x,y):要写文字的坐标
“str”:文字内容,必须为字符串类型
(0,0,0):文字颜色
1:文字大小和粗细
下面放一个完整的代码:
import cv2
import numpy as np
images = np.random.randint(250,255,size=(500,500,3)).astype('uint8')
cv2.rectangle(images,(100-10,100+10),(200,200),(0,0,0),2)
cv2.putText(images,"rectangle",(100,100),cv2.FONT_HERSHEY_PLAIN,1,(0,0,0),1)
cv2.imshow('test',images)
cv2.waitKey(0)
总结:明白bbox的坐标性质,了解cv2绘图函数,左右问题就简单了