pythcarm + python3
win7 + opencv3 + numpy
opencv学习中有时要自己画一些几何图形,矩形 线 园等等,opencv提供了很好的函数提供调关给我们调用。不用另外装模块。本文提供线/矩形/圆/椭圆的使用。cv.linecv.rectanglecv.circlecv.ellipse下图为生成结果
2)画矩形# 画矩形 坐标(250, 250), (290, 290) (0, 255, 255)色newimg2 = cv.rectangle(black, (250, 250), (290, 290), (0, 255, 255), 5)cv.imshow('newim2', newimg2)
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)
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)
# 画文字font = cv.FONT_HERSHEY_SIMPLEXcv.putText(newimg5, 'use opencv draw', (50, 300), font, 1, (255, 255, 255), 2, cv.LINE_AA)
通过几何图形的自主添加,可以自己生成MASK图形(另开一文介绍),MASK在图形处理中大量存在。方便实用。比如生成一个黑底的内含一个白圈,可以和目标与运算,形成丰富变迅恩怕化!
cv.circle(black, (200, 200), 50, (0, 0, 255), -1) 最后一个参数-1 为填充,否则为线宽
椭圆参数 有圆心(x, y) 长轴短轴 (a, b) 起始角 终止角 线宽 组成