zoukankan      html  css  js  c++  java
  • Python-OpenCV学习(五):二维绘图

    转载请注明出处:danscarlett的博客园

    参考资料:

    lkiller_hust《OpenCV-Python[第二章]——画图函数》

    目录

      初始化画布

      画线

      画圆

      其它图像


    上述函数具有如下的相同类型的参数:

    • img: 背景图像
    • color: 形状的颜色。格式为BGR,是一个元组,如(255,0,0)表示蓝色。如果是灰度图像则只需要传入灰度值。
    • thickness:厚度,默认值为1,如果对封闭图形传入-1,则会填充整个图形。
    • lineType: 线的类型,默认是8-连通,传入cv2.LINE_AA则是反锯齿,反锯齿在画曲线时看起来会更平滑。

    下文中不再赘述以上参数了。

    1.画布

    np.zeros(shape, dtype=float, order='C')

    函数功能:返回一个给定形状、类型的0-矩阵   

    参数:

    # -*- coding: utf-8 -*-
    import cv2
    import numpy as np
    
    # 创建一块512*512大小的黑色画布
    img = np.zeros((512,512,3),np.uint8)
    cv2.imshow('-',img)
    cv2.waitKey(0)
    #创建一块白色的画布
    img = np.zeros((512,512,3),np.uint8)+255

    2.画线

    cv2.line(img, pt1, pt2, color, thickness=1, lineType=8, shift=0)

    功能:在img上画一个从起点pt1到起点pt2的直线

    例子:

    # -*- coding: utf-8 -*-
    import cv2
    import numpy as np
    
    # 创建画布
    img = np.zeros((512,512,3),np.uint8)+255
    
    #画线:指定起点、终点、线的颜色、线的粗细程度。其它参数默认即可。
    cv2.line(img,(0,0),(512,512),[0,0,0],3)
    
    cv2.imshow('-',img)
    cv2.waitKey(0)

    3.画矩形

    cv2.rectangle(img,pt1,pt2,color,thickness=None,lineType=None,shift=None)

    例子:

    # -*- coding: utf-8 -*-
    import cv2
    import numpy as np
    # 创建画布
    img = np.zeros((512,512,3),np.uint8)+255
    
    #画矩阵
    cv2.rectangle(img,(100,100),(412,412),[0,0,0],1)
    
    cv2.imshow('-',img)
    cv2.waitKey(0)

    结果:

    3.画圆

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

    功能:以center为圆心,以radius为半径画圆。

     例子:

    # -*- coding: utf-8 -*-
    import cv2
    import numpy as np
    
    # 创建画布
    img = np.zeros((512,512,3),np.uint8)+255
    cv2.rectangle(img,(100,100),(412,412),[0,0,0],1)
    
    cv2.circle(img,(
    255,255),100,[0,0,0],1)
    cv2.imshow(
    '-',img) cv2.waitKey(0)

     4.其它图像

    椭圆:


    以上是我目前会用到的,后续遇到其它问题还会补充这篇随笔。

  • 相关阅读:
    jeecg中移动tbody中的tr可实现位置交换
    SQL Server中的Datediff移植到Oracle计算有误解决方案
    Oracle如何插入日期数据
    在 Oracle 9i 中创建 方案
    手把手教你uniapp 打包的H5怎么实现谷歌登录
    网站和项目的区别
    基础知识
    全球唯一标识GUID
    MVC3 Razor视图引擎基础语法
    缓存技术
  • 原文地址:https://www.cnblogs.com/danscarlett/p/7160467.html
Copyright © 2011-2022 走看看