zoukankan      html  css  js  c++  java
  • Python下opencv使用笔记(二)(简单几何图像绘制)

    简单几何图像一般包含点、直线、矩阵、圆、椭圆、多边形等等。首先认识一下opencv对像素点的定义。

    图像的一个像素点有1或者3个值。对灰度图像有一个灰度值,对彩色图像有3个值组成一个像素值。他们表现出不同的颜色。


    那么有了点才干组成各种多边形。

    (一)首先绘制直线

    函数为:cv2.line(img,Point pt1,Point pt2,color,thickness=1,line_type=8 shift=0)
    有值的代表有默认值。不用给也行。能够看到这个函数主要接受參数为两个点的坐标,线的颜色(彩色图像的话颜色就是一个1*3的数组)例如以下:

    import cv2
    import numpy as np
    from matplotlib import pyplot as plt
    img = np.zeros((512,512),np.uint8)#生成一个空灰度图像
    cv2.line(img,(0,0),(511,511),255,5)
    plt.imshow(img,'gray')

    这里写图片描写叙述

    import cv2
    import numpy as np
    from matplotlib import pyplot as plt
    img = np.zeros((512,512,3),np.uint8)#生成一个空彩色图像
    cv2.line(img,(0,0),(511,511),(155,155,155),5)
    plt.imshow(img,'brg')

    这里写图片描写叙述

    (二)绘制矩形

    函数:cv2.rectangle(img,(380,0),(511,111),(255,0,0),3),须要确定的就是矩形的两个点(左上角与右下角)。颜色,线的类型(不设置就默认)。
    比方:

    import cv2
    import numpy as np
    from matplotlib import pyplot as plt
    img = np.zeros((512,512,3),np.uint8)#生成一个空彩色图像
    cv2.rectangle(img,(20,20),(411,411),(55,255,155),5)
    plt.imshow(img,'brg')
    

    这里写图片描写叙述

    (三)绘制圆形

    绘制圆形也非常easy,仅仅须要确定圆心与半径,函数:
    cv2.circle (img,(380,0),63,(255,0,0),3),比方:

    import cv2
    import numpy as np
    from matplotlib import pyplot as plt
    img = np.zeros((512,512,3),np.uint8)#生成一个空彩色图像
    cv2.circle(img,(200,200),50,(55,255,155),1)#改动最后一个參数
    plt.imshow(img,'brg')

    这里写图片描写叙述

    import cv2
    import numpy as np
    from matplotlib import pyplot as plt
    img = np.zeros((512,512,3),np.uint8)#生成一个空彩色图像
    cv2.circle(img,(200,200),50,(55,255,155),8)#改动最后一个參数
    plt.imshow(img,'brg')

    这里写图片描写叙述

    (四)绘制椭圆

    椭圆比較复杂,涉及到长轴短轴,椭圆圆心,旋转角度等等,看看opencv參考手冊上的介绍吧:
    这里写图片描写叙述
    图像化例如以下:
    这里写图片描写叙述
    一个样例例如以下:

    import cv2
    import numpy as np
    from matplotlib import pyplot as plt
    img = np.zeros((512,512,3),np.uint8)#生成一个空彩色图像
    cv2.ellipse(img,(256,256),(150,100),0,0,180,250,-1)
    #注意最后一个參数-1,表示对图像进行填充,默认是不填充的,假设去掉,仅仅有椭圆轮廓了
    plt.imshow(img,'brg')

    这里写图片描写叙述

  • 相关阅读:
    201521123104《Java程序设计》第7周学习总结
    201521123104 《Java程序设计》第6周学习总结
    201521123104 《Java程序设计》第5周学习总结
    201521123104《Java程序设计》第4周学习总结
    201521123104《JAVA程序设计》第三周学习总结
    201521123104 《JAVA程序设计》第二周学习总结
    201521123103 《java学习笔记》 第十二周学习总结
    201521123103 《Java学习笔记》 第十一周学习总结
    201521123103 《java学习笔记》 第十周学习总结
    201521123103 《Java学习笔记》 第九周学习总结
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/6745132.html
Copyright © 2011-2022 走看看