opencv-python(四)——绘图


def paint():
    # cv2.line(),cv2.circle(),cv2.rectangle(), cv2.ellipse(),cv2.putText()
    #   上面所有的这些绘图函数需要设置下面这些参数: • img:你想要绘制图形的那幅图像。 • color:形状的颜色。以RGB为例,需要传入一个元组,
    #   例如: (255,0,0) 代表蓝色。对于灰度图只需要传入灰度值。 • thickness:线条的粗细。如果给一个闭合图形设置为 -1,那么这个图形 就会被填充。
    #   默认值是 1. • linetype:线条的类型, 8连接,抗锯齿等。默认情况是8连接。cv2.LINE_AA 为抗锯齿,这样看起来会非常平滑。
    img = np.zeros((512, 512, 3), np.uint8)
    # 画线  需传入起点和终点
    cv2.line(img, (0, 0), (511, 511), (255, 0, 0), 5)
    # 画矩形 需传入左上顶点和右下顶点
    cv2.rectangle(img, (100, 100), (150, 150), (255, 255, 0), 5)
    #  画圆 要画圆的话,只需要指定圆形的中心点坐标和半径大小。我们在上面的矩形中画一个圆。
    cv2.circle(img, (125, 125), 25, (255, 0, 255), 0)
    # 画椭圆比较复杂,我们要多输入几个参数。一个参数是中心点的位置坐标。
    # 下一个参数是长轴和短轴的长度。椭圆沿逆时针方向旋转的角度。椭圆弧演 顺时针方向起始的角度和结束角度,如果是 0 很 360,就是整个椭圆
    cv2.ellipse(img, (200, 200), (100, 50), 0, 0, 180, (255, 255, 10), -1)
    # 画多边形,需要指点每个顶点的坐标。用这些点的坐标构建一个大小等于 行数 X1X2 的数组,行数就是点的数目。
    # 这个数组的数据类型必须为 int32。 这里画一个黄色的具有四个顶点的多边形。
    pts = np.array([[10, 5], [20, 30], [70, 20], [50, 10]], np.int32)
    a = np.roll(pts, 2)
    print(a)
    pts = pts.reshape((-1, 2, 2))  # 多维思维, 行列行列
    a = a.reshape((-1, 2, 2))
    cv2.polylines(img, pts, True, (255, 0, 255), 2)
    cv2.polylines(img, a, True, (255, 0, 255), 2)
    # 在图片上添加文字 要在图片上绘制文字,你需要设置下列参数: • 你要绘制的文字 • 你要绘制的位置 • 字体类型(通过查看 cv2.putText() 的文档找到支持的字体)
    # • 字体的大小 • 文字的一般属性如颜色,粗细,线条的类型等。为了更好看一点推荐使用 linetype=cv2.LINE_AA。
    cv2.putText(img, "sfg", (100, 500), cv2.FONT_HERSHEY_COMPLEX, 4, (0, 255, 255), cv2.LINE_AA)
    cv2.imshow("img", img)
    cv2.waitKey(0)
    return

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值