精华内容
下载资源
问答
  • 以下是 Python OpenCV 绘制基本图形的文章汇总,每篇文章都有函数及参数的详细说明、完成 Python 代码及运行效果图。 文章链接如下: Python 安装 OpenCV 及显示图像 (1) Python OpenCV 画点和圆 (2) Python...

    以下是 Python 用 OpenCV 绘制基本图形的文章汇总,每篇文章都有函数及参数的详细说明、完成 Python 代码及运行效果图。
    文章链接如下:

    Python 安装 OpenCV 及显示图像 (1)

    Python 用 OpenCV 画点和圆 (2)

    Python 用 OpenCV 画直线 (3)

    Python 用 OpenCV 画矩形 (4)

    Python 用 OpenCV 画椭圆 (5)

    Python 用 OpenCV 显示文字 (6)


    原文英文文档

    展开全文
  • Python学习笔记——opencv绘制椭圆

    万次阅读 2018-06-26 19:26:24
    Python环境下使用opencv绘制椭圆,需要用到cv2.ellipse() 函数。下面一段示例程序就是函数在黑色背景下,绘制一个圆点在(260,240)、长轴170、短轴130、线宽为5的白色椭圆。import cv2 import numpy as np ...

    Python环境下使用opencv绘制椭圆,需要用到cv2.ellipse() 函数。

    下面一段示例程序就是用该函数在黑色背景下,绘制一个圆心在(260,240)、长轴170、短轴130、线宽为3的白色椭圆。

    import cv2
    import numpy as np
     
    img=np.zeros((512,512,3),np.uint8) #设置背景
    cv2.ellipse(img, (260, 240), (170, 130), 0, 0, 360, (255, 255, 255), 3) #画椭圆
    cv2.imshow("test",img) #显示
    cv2.waitKey(0) #按下任意键退出
    cv2.destroyAllWindows()

    cv2.ellipse()函数比较复杂,下面详细介绍一下涉及到的参数:

    函数原型:

    cv2.ellipse(img, center, axes, angle, startAngle, endAngle, color, thickness, lineType, shift) 

    其中每个参数代表意义如下:

    img:需要绘图的图像

    center:椭圆中心点坐标

    axes:椭圆尺寸(即长短轴)

    angle:旋转角度(顺时针方向

    startAngle:绘制的起始角度(顺时针方向

    endAngle:绘制的终止角度(例如,绘制整个椭圆是0,360,绘制下半椭圆就是0,180)

    color:线条颜色(BGR

    thickness:线条粗细(默认值=1)

    lineType:线条类型(默认值=8)

    shift:圆心坐标点和数轴的精度(默认值=0)


    顺便介绍几个常用的绘图函数:

    1、画直线 cv2.line()

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

    pt1,pt2分别代表直线的两个端点。

    2、画矩形 cv2.rectangle()

    cv2.rectangle(img, Point pt1, Point pt2, color, thickness=1, line_type=8, shift=0)

    pt1,pt2分别代表矩形的左上角点和右下角点。

    3、画圆 cv2.circle()

    cv2.circle(img, center, radius, color, thickness, lineType, shift) 

    center,radius代表圆心和半径。

     


    展开全文
  • opencv版本: ...椭圆绘制函数:cv2.ellipse() 详见参考文章 著名难题: python opencv ellipse takes at most 5 arguments 网上最为流行的解决方案:改int,改int就完事了,还有人因此断定这个..
    • opencv版本:
      在这里插入图片描述
      版本这么高,没想到做个椭圆拟合与绘制还有问题。

    • opencv的椭圆拟合函数有三个:

    cv2.fitEllipse()
    cv2.fitEllipseAMS()
    cv2.fitEllipseDirect()

    函数细节见官方文档

    • 椭圆绘制函数:cv2.ellipse()
      详见参考文章

    • 著名难题:

    python opencv ellipse takes at most 5 arguments

    网上最为流行的解决方案:改int,改int就完事了,还有人因此断定这个函数精度不高,但其实只要把float64(double)改成float32就行
    拟合函数也存在同样问题,使用np.float型的ndarray同样会报错,改成np.float32型矩阵就没有问题了。

    展开全文
  • 历时4天,利用工作之余的细碎时间, 修修改改,终于把这...初学turtle时所画的这只柯基,由于对turtle中灵活强大的circle()函数理解和应用不够自如,​​​​​​​自定义的画弧函数化简为繁了。 绘制对象的关键坐...

    历时4天,利用工作之余的细碎时间, 修修改改,终于把这只丑萌的小鼓脸柯基画了出来,我也有狗啦~code的过程多坎坷,完成时就有多快乐!成果如下:

    谢谢大家给我点了那么多赞,开心鸭~!❥❥❥❥(^_^)

    回头来看的小反思小心得:

    • 初学turtle时所画的这只柯基,由于对turtle中灵活强大的circle()函数理解和应用不够自如,​​​​​​​自定义的画弧函数化简为繁了。
    • 绘制对象的关键坐标点确实需要反复尝试,在绘制这样一幅turtle画作时,耐心是远比技术更被需要的。

    绘制柯基时主要用到了以下几种几何图形:

    • 椭圆——柯基眼部(定义函数会更方便,这里可以进一步完善)
    • 弧线——柯基耳部、鼻部、面部(利用"一步一拐曲线绘制法"定义画弧函数)
    • 圆——柯基嘴部白圈(直接利用turtle的circle() 函数)
    • 矩形——柯基眼睛白光块(定义函数)
    • 等边三角形——柯基鼻头(定义函数)

    感兴趣的小伙伴请自行了解一下代码:

    from turtle import *
    pensize(5)
    speed(0)
    ##color('#F4A460')#橘黄
    ##color('#FFE4E1')#肉粉
    
    ##【背景圆】
    color('#B088FF')#浅紫
    pu()
    goto(0,-200)
    pd()
    begin_fill()
    circle(200)
    end_fill()
    
    ##定义画弧函数
    def Arc(initial_degree,range_num,step,rotate_degree):
        seth(initial_degree)
        for n in range(range_num):   
            fd(step)
            rt(rotate_degree)#   
    
    ##定义填充矩形函数
    def Rect(x,y,height,width):
        pu()
        goto(x,y)
        pd()
        begin_fill()
        goto(x+width,y)
        goto(x+width,y+height)
        goto(x,y+height)
        goto(x,y)
        end_fill()
    
    ##定义绘制填充等边三角形函数    
    def Triangle(x,y,side_length):#等边三角形底边左角
        pu()
        goto(x,y)
        pd()
        begin_fill()
        seth(0)
        fd(side_length)
        rt(120)#lt()是正立三角形
        fd(side_length)
        rt(120)#lt()是正立三角形
        fd(side_length)
        end_fill()
        
    #中轴线——辅助绘图线
    #color("green")
    #Rect(-200,0,1,400)#x轴
    #Rect(0,-200,400,1)#y轴
    
    ##【图层1——面部轮廓】
    color('#F4A460')#橘黄
    #左耳
    pu()
    goto(-83.13,-10.94)
    pd()
    begin_fill()
    
    Arc(120,145,1,1/4)
    goto(-30,50)
    end_fill()
    
    #右耳
    pu()
    goto(83.13,-10.94)#(88.13,10.94)
    pd()
    begin_fill()
    Arc(60,145,1,-1/4)
    goto(30,50)
    end_fill()
    
    #腮帮
    #右腮帮
    pu()
    goto(83.13,-10.94)#0
    pd()
    begin_fill()
    Arc(-35,135,1,9/11)#1
    #print(pos())
    
    #下巴
    #pencolor("yellow")
    Arc(-145,70,1,3/10)#右半下颌2
    #print(pos())
    
    #pencolor("red")
    Arc(-175,40,1,1/5)#下巴连接线3
    #print(pos())
    
    #pencolor("pink")
    Arc(168,70,1,3/10)#左半下颌4
    #print(pos())
    
    #左腮帮
    #pencolor("grey")
    Arc(146,135,1,9/11)#5
    #print(pos())
    
    #两耳连接
    pu()
    goto(-30,50)
    Arc(15,80,1,1/2)
    
    end_fill()
    
    
    ##【图层2——耳部轮廓】
    color('pink')#FFC0CB
    #左耳
    pu()
    goto(-42,50)
    pd()
    begin_fill()
    Arc(-164,55,1,-7/8)
    Arc(120,100,1,1/3)
    goto(-42,50)
    end_fill()
    
    #右耳
    pu()
    goto(42,50)
    pd()
    begin_fill()
    Arc(-16,55,1,7/8)#(81.13,15.94)
    #print(pos())
    Arc(60,100,1,-1/3)#(104.15,111.82)
    #print(pos())
    goto(42,50)
    end_fill()
    
       
    ##【图层3——眼部轮廓】
    #左黑眼豆豆
    pu()
    goto(-46,-8)
    pd()
    color("black")
    seth(180)
    len = 0.3
    begin_fill()
    for k in range(2):         # 双弧绘制椭圆   
        for j in range(60):
            if j < 30:
                len += 0.04
            else:
                len -= 0.04
    
            fd(len)
            lt(3)
    end_fill()
    #左眼白光
    color("white")
    Rect(-43,-38,6,2)
    
    #右黑眼豆豆
    pu()
    goto(46,-8)
    pd()
    color("black")
    seth(180)
    len = 0.3
    begin_fill()
    for k in range(2):         # 将相同的动作重复做一遍
        for j in range(60):
            if j < 30:
                len += 0.04
            else:
                len -= 0.04
    
            fd(len)
            lt(3)
    end_fill()
    #右眼白光
    color("white")
    Rect(40,-38,6,2)
    
    ##【图层4——白鼻子轮廓】
    pu()
    goto(10,50)
    pd()
    goto(-10,50)
    color("white")
    begin_fill()
    Arc(-82,140,1,1/7)#结束角度A=-82-140*1/7=-102
    Arc(-112,20,1.1,-1.2)#结束角度B=-112+20*1.2=-88
    #setx(-xcor())
    goto(-xcor(),ycor())
    seth
    Arc(88,20,1.1,-1.2)#求A的y轴对称角度
    Arc(102,140,1,1/7)#求8的y轴对称角度
    goto(10,50)
    end_fill()
    pd()
    
    #圆嘴
    pu()
    goto(0,-150)
    seth(0)
    pd()
    begin_fill()
    circle(35)
    end_fill()
    
    #黑鼻头
    color("black")
    Triangle(-10,-120,20)
    
    end_fill()
    
    hideturtle()
    done()
    
     

     

    展开全文
  • 椭圆——柯基眼部(定义函数会更方便,这里可以进一步完善) 弧线——柯基耳部、鼻部、面部(利用"一步一拐曲线绘制法"定义画弧函数) 圆——柯基嘴部白圈(直接利用turtle的circle() 函数) 矩形——柯基眼睛...
  • opencv绘制椭圆

    2020-03-26 16:26:12
    Python环境下使用opencv绘制椭圆,需要用到cv2.ellipse() 函数。下面一段示例程序就是函数在黑色背景下,绘制一个圆心在(260,240)、长轴170、短轴130、线宽为3的白色椭圆。import cv2 import numpy as np ...
  • 在skimage包中,绘制图形的是draw模块,不要和绘制图像搞混了。 1、画线条 函数调用格式为: skimage.draw.line(r1,c1,r2,c2) r1,r2: 开始点的行数和结束点的行数 c1,c2: 开始点的列数和结束点的列...
  • 学习OpenCV画出不同的几何图形 将学习这些功能:cv.line(), cv.circle() , cv.rectangle(), cv.ellipse(), cv.putText() etc.等。 代码 在上述所有功能中,您将看到如下所示的一些常见参数: img:你想要绘制...
  • Python学习12_基本图形的绘制

    千次阅读 2017-07-25 13:57:37
    在skimage包中,绘制图形的是draw模块,不要和绘制图像搞混了。 1、画线条 函数调用格式为: skimage.draw.line(r1,c1,r2,c2) r1,r2: 开始点的行数和结束点的行数 c1,c2: 开始点的列数和结
  • 在skimage包中,绘制图形的是draw模块,不要和绘制图像搞混了。 1、画线条 函数调用格式为: skimage.draw.line(r1,c1,r2,c2) r1,r2: 开始点的行数和结束点的行数 c1,c2: 开始点的列数和结束点的列数 返回当前绘制...
  • 椭圆绘制方法在上一节中我们已经知道了是使用ellipse,ellipse的函数原型如下,为了清晰认识ellipse方法,在此使用了中文代替参数: ellipse(image, 椭圆的中心坐标, 长轴和短轴, 旋转角度, 起始角度, 终止角度, ...
  • Pygame   Pygame是一个开源的Python模块,专门用于多媒体应用(如电子游戏)的...  通过pygame中draw模块的函数可以在窗口上绘图,可以绘制的图形包括:线条、矩形、多边形、圆、椭圆、圆弧等。需要说明的是,屏
  • ·输出:包含两个用于绘制结果的MatLab函数的文件夹 ·Example1_A.py:使用平滑解在任意域中求解拉普拉斯方程 ·Example1_R.py:使用平滑解在矩形域中求解拉普拉斯方程 ·Example2_R.py:在矩形域中求解带有混合边界...
  • 找轮廓–画轮廓–计算轮廓–标注轮廓(椭圆、矩形)找轮廓–画轮廓–计算轮廓opencv.cv2.findContours()函数形态学变换参考各种颜色空间解释和相互转换[各种边缘检测算子对比图]OpenCV实现Otsu算法####Python图表...

空空如也

空空如也

1 2
收藏数 26
精华内容 10
关键字:

python用函数绘制椭圆

python 订阅