python环境opencv实现画线/矩形/圆/椭圆
1、opencv学习中有时要自己画一些几何图形,矩形 线 园等等,opencv提供了很好的函数提供给我们调用。不用另外装模块。本文提供线/矩形/圆/椭圆的使用。cv.linecv.rectanglecv.circlecv.ellipse下图为生成结果

2、1) 画线import cv2 as cvimport numpy as npimport copyrows = 400cols = 300channels = 3#生成背景图black = np.zeros((rows, cols, channels), dtype="uint8")cv.imshow("black", black)# 从的(100,100)到(100, 200) (255, 255, 0)颜色 画20px的直线newimg = cv.line(black, (100, 100), (100, 200), (255, 255, 0), 20)

3、2)画矩形# 画矩形 坐标(250, 250), (290, 290) (0, 255, 255)色newimg2 = cv.rectangle(black, (250, 250), (290, 290), (0, 255, 255), 5)cv.imshow("newim2", newimg2)

4、3)画圆# 画圆,(100, 100)圆心,50半径,(0,0,255)颜色,-1填充newimg3 = cv.circle(black, (200, 200), 50, (0, 0, 255), -1)# 画圆,(100, 100)圆心,50半径,(0,0,255)颜色,5宽newimg3 = cv.circle(black, (100, 100), 50, (0, 0, 255), 5)cv.imshow("newim3", newimg3)

5、4)画椭圆#画椭圆 圆心(90, 250) 长轴短轴 (50, 25) 起始角 0 终止角0 -1填充newimg5 = cv.ellipse(black, (90, 250), (50, 25), 0, 0, 360, (0, 255, 255), -1)#画椭圆 圆心(90, 250) 长轴短轴 (60, 28) 起始角 0 终止角0 线宽2newimg5 = cv.ellipse(black, (90, 250), (60, 28), 0, 0, 360, (0, 255, 255), 2)

6、# 画文字font = cv.FONT_HERSHEY_SIMPLEXcv.putText(newimg5, 'use opencv draw', (50, 300), font, 1, (255, 255, 255), 2, cv.LINE_AA)
7、通过几何图形的自主添加,可以自己生成MASK图形(另开一文介绍),MASK在图形处理中大量存在。方便实用。比如生成一个黑底的内含一个白圈,可以和目标与运算,形成丰富变化!