绘图
接下来将讲解OpenCV中绘图的使用,在计算机视觉领域,使用绘图功能是一个非常高频的需求,例如,在颜色识别,人脸识别,物体识别中,识别到具体的物体,可以将其打印出来,也可以直接在原图中绘制一个圆形等,显而易见,后者效果更好。
注意,OpenCV可以绘制的图形,其实matplotlib也都可以,OpenCV之所以还提供一个绘图功能是因为OpenCV绘图是直接在原图上进行绘图的,并且使用的是默认的BGR色彩空间,所以,OpenCV默认的绘图功能会更加方便一些。
2.1Python3
接下来首先介绍在OpenCV中常见的几何图形绘制与文本绘制,例如,直线,矩形,圆形,多边形,椭圆等。
初始化画布
在Python中,图像数据是通过numpy的ndarray存储的,首先,应当初始化一个ndarra数据结构用于存储图像:具体处理如下所示:
defInitPaint(width,height,color=(255,255,255)): paint=np.ones((height,width,3),dtype=“uint8”) paint[:]=color returnpaint
绘制直线
函数的函数原型:
cv2.line(img=canvas,pt1=(300,0),pt2=(0,300),color=COLOR_MAP[“red”],thickness=3)
绘制矩形
函数原型:
cv2.rectangle(img=canvas,pt1=(50,200),pt2=(200,225),color=COLOR_MAP[“green”],thickness=5)
绘制圆形
函数原型
cv2.circle(img=canvas,center=(150,150),radius=60,color=(0,0,255),thickness=5)
绘制多边形
函数原型
cv2.polylines(img=canvas,pts=[points],isClosed=True,color=(0,0,255),thickness=3)
绘制椭圆
函数原型
cv2.ellipse(img=canvas,center=(256,256),axes=(100,50),angle=0,startAngle=0,endAngle=360,color=(100,200,0),thickness=-1)
绘制文字
函数原型
font=cv2.FONT_HERSHEY_SIMPLEX cv2.putText(canvas,text=“HelloWorld”,org=(50,200),fontFace=font,fontScale=2,thickness=1,lineType=cv2.LINE_AA,color=(0,0,255))
绘图
接下来将讲解OpenCV中绘图的使用,在计算机视觉领域,使用绘图功能是一个非常高频的需求,例如,在颜色识别,人脸识别,物体识别中,识别到具体的物体,可以将其打印出来,也可以直接在原图中绘制一个圆形等,显而易见,后者效果更好。
注意,OpenCV可以绘制的图形,其实matplotlib也都可以,OpenCV之所以还提供一个绘图功能是因为OpenCV绘图是直接在原图上进行绘图的,并且使用的是默认的BGR色彩空间,所以,OpenCV默认的绘图功能会更加方便一些。
2.1Python3
接下来首先介绍在OpenCV中常见的几何图形绘制与文本绘制,例如,直线,矩形,圆形,多边形,椭圆等。
初始化画布
在Python中,图像数据是通过numpy的ndarray存储的,首先,应当初始化一个ndarra数据结构用于存储图像:具体处理如下所示:
defInitPaint(width,height,color=(255,255,255)): paint=np.ones((height,width,3),dtype=“uint8”) paint[:]=color returnpaint
绘制直线
函数的函数原型:
cv2.line(img=canvas,pt1=(300,0),pt2=(0,300),color=COLOR_MAP[“red”],thickness=3)
绘制矩形
函数原型:
cv2.rectangle(img=canvas,pt1=(50,200),pt2=(200,225),color=COLOR_MAP[“green”],thickness=5)
绘制圆形
函数原型
cv2.circle(img=canvas,center=(150,150),radius=60,color=(0,0,255),thickness=5)
绘制多边形
函数原型
cv2.polylines(img=canvas,pts=[points],isClosed=True,color=(0,0,255),thickness=3)
绘制椭圆
函数原型
cv2.ellipse(img=canvas,center=(256,256),axes=(100,50),angle=0,startAngle=0,endAngle=360,color=(100,200,0),thickness=-1)
绘制文字
函数原型
font=cv2.FONT_HERSHEY_SIMPLEX cv2.putText(canvas,text=“HelloWorld”,org=(50,200),fontFace=font,fontScale=2,thickness=1,lineType=cv2.LINE_AA,color=(0,0,255))
举报