Opencv-Python-绘制基本图形和常见的RGB值

图像坐标

首先了解Opencv如何对图像建立坐标, 以左上角为原点, 向下为y轴, 向右为x

圆/点

圆和点其实可以用同一个函数来画

def circle(img, center, radius, color, thickness=None, lineType=None, shift=None):

img: 图像, 实质就是一个矩阵
center: 圆心坐标, (x, y)
radius: 圆的半径
color: 圆的颜色, 格式是(B, G, R), 表示B, G, R通道, 范围是0~255
thickness: 如果是正数就是线条的宽度, 负数就会填充圆, 画成实心圆, 当半径很小时可以看成就是点
lineType: 线条类型
shift:中心坐标和半径值中的小数位数

常见的RGB值, 注意上面的colorBGR

颜色 R(Red) G(Green) B(Blue)
黑色 0 0 0
白色 255 255 255
灰色 192 192 192
红色 0 0 255
绿色 0 255 0
蓝色 0 0 255
紫红色 255 0 255
黄色 255 255 0
棕色 128 128 0

例程:

image = cv2.imread('./test.jpg')
cv2.circle(image, (100, 100), 5, (0, 0, 255), 1, 16)

cv2.imshow('demo', image)
cv2.waitKey(0)
cv2.destroyAllWindows()

椭圆

def ellipse(img, center, axes, angle, startAngle, endAngle, color, thickness=None, lineType=None, shift=None):
    
axes: 长短轴, (x, y)此处x表示水平长度, y表示竖直长度, x,y没有大小限制, x, y也可以相等, 画出的就是圆
angle: 旋转角度, 一般是0, 即不旋转
startAngle: 起始角度, 一般是0
endAngle: 结束角度, 一般是360
其他参数与圆类似不再赘述

矩形

def rectangle(img, pt1, pt2, color, thickness=None, lineType=None, shift=None):

这两个值其实就是对角线, 根据对角线来画矩形
pt1: 矩形左上角坐标, (left, top)
pt2: 矩形右下角坐标, (right, bottom)
其他参数与圆类似不再赘述

线/多边形

def polylines(img, pts, isClosed, color, thickness=None, lineType=None, shift=None):

pts: 坐标数组, 注意此处是[ np.array( [ [x, y],  ] ) ], 中间是一个numpy数组, 外面是一个列表
	 两个坐标就可以表示线, 例如[ np.array( [ [910, 650], [206, 650] ] ) ]	
isClosed: 是否为闭合线段, 表示线此处应该为False
其他参数与圆类似不再赘述
posted @ 2020-08-17 11:50  漫漫长夜何时休  阅读(1092)  评论(0编辑  收藏  举报