zoukankan      html  css  js  c++  java
  • python-opencv-绘图函数

    点和圆 :

    circle(img,center,radius,color,thickness=None,lineType=None,shift=None)。各参数意义及作用如下。

    img:待画圆所在的图像。
    center:待画圆的圆心坐标。
    radius:待画圆的半径。

    color:待画圆的边框颜色,颜色格式为bgr格式。就是通道值

    thickness:待画圆的边框宽度,正数表示边框宽度,负数表示填充圆形。

    lineType:圆边框线型,可为 0,4,8

    shift:圆心坐标和半径的小数点位数

    画点实际上就是画半径很小的实心圆

    import cv2
    img = cv2.imread("500x400.jpg")
    img1=cv2.circle(img,(60,60),30,(0,0,255),-1)  #画一个红色实心圆
    img1=cv2.circle(img1,(200,200),50,(255,0,0),3)  #画一个蓝边框的圆
    
    cv2.imwrite("linsi.jpg",img1)
    
    cv2.waitKey(0)

    注意:在img和img1上同时画

    效果图:

    画线 :

    import cv2
    img = cv2.imread("500x400.jpg")
    img1=cv2.line(img,(10,10),(200,200),(0,255,0),3) #直线
    #参数2 起点坐标;参数3 终点坐标;参数4 颜色;参数5 线条宽度
    
    cv2.imwrite("linsi.jpg",img1)
    
    cv2.waitKey(0)

    画矩形:

    import cv2
    img = cv2.imread("500x400.jpg")
    img1=cv2.rectangle(img,(10,10),(30,40),(255,0,0),2)  #画矩形
    #参数2 左上角坐标;参数3 右下角坐标;参数4 颜色;参数5 线条宽度
    
    cv2.imwrite("linsi.jpg",img1)
    cv2.waitKey(0)

    椭圆:

    import cv2
    img = cv2.imread("500x400.jpg")
    img1=cv2.ellipse(img,(256,256),(100,50),0,30,180,(255,0,0),-1) # 画椭圆
    #参数2 椭圆中心
    #第三个参数 椭圆的长短轴的长度
    #第四个参数  整个椭圆的偏转角度(顺时针)
    #第五个参数  圆弧起始角的角度
    #第六个参数  圆弧终结角的角度
    # 圆弧角度->x轴方向为0,逆时针方向为正
    #第七个参数  color 线条的颜色
    #第八个参数   线条的粗细程度,如果是负数表示填充
    #第九个参数   line_type 线条的类型  ???
    
    cv2.imwrite("linsi.jpg",img1)
    cv2.waitKey(0)

    多边形:

    画多边形——需要指定每个顶点的坐标

    import cv2
    import numpy as np
    
    img = cv2.imread("500x400.jpg")
    
    points = np.array([[150,50],[140,140],[200,170],[250,250],[150,50]],np.int32)  #多边形各顶点坐标
    #数据类型必须是np.int32
    points = points.reshape(-1,1,2)
    
    img1=cv2.polylines(img,[points],True,(0,0,255),3)  #画多边形
    #参数2 各顶点
    #参数3 True表示封闭,False表示不封闭
    #参数4 颜色
    #参数5 线条粗细
    
    cv2.imwrite("linsi.jpg",img1)
    cv2.waitKey(0)

    添加文字 :

    import cv2
    import numpy as np
    
    img = cv2.imread("500x400.jpg")
    
    font=cv2.FONT_HERSHEY_SIMPLEX
    font=cv2.FONT_HERSHEY_DUPLEX
    img1=cv2.putText(img,'wo is liming',(80,90), font, 2,(255,255,255),3)  #画文字
    #参数3 位置
    #参数5 字体大小
    #参数7 线型
    
    
    cv2.imwrite("linsi.jpg",img1)
    cv2.waitKey(0)

  • 相关阅读:
    极光推送
    ModelAndView跳转页面的时候,显示了页面的源码问题
    关于字符串比较时候出现的空指针问题的坑
    JAVA的extends用法
    C# 平面文件批量导数据到DB(二)
    C# 平面文件批量导数据到DB(一)
    C#操作文件和文件夹的类介绍
    C# 实现监控文件夹和里面文件的变化
    SQL Server 2012 Throw关键字
    SQL SERVER EXCEPT 和 INTERSECT
  • 原文地址:https://www.cnblogs.com/liming19680104/p/12205389.html
Copyright © 2011-2022 走看看