精华内容
下载资源
问答
  • python绘制函数图像

    2019-01-23 20:19:43
    python绘制函数图像代码,NumPy(Numerical Python) 是 Python 语言一个扩展程序库,支持大量维度数组与矩阵运算,此外也针对数组运算提供大量数学函数库。 NumPy 前身 Numeric 最早是由 Jim Hugunin 与其它...
  • python turtle 绘制图像的函数

    千次阅读 2018-10-31 11:34:49
     Turtle库是Python语言一个很流行绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y坐标系原点,(0,0)位置开始,它根据一组函数指令控制,在这个平面坐标系移动,从而在它爬行路径上绘制了...

    https://blog.csdn.net/zengxiantao1994/article/details/76588580

       Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
    turtle绘图的基础知识:

    1. 画布(canvas)

            画布就是turtle为我们展开用于绘图区域,我们可以设置它的大小和初始位置。

            设置画布大小

             turtle.screensize(canvwidth=None, canvheight=None, bg=None),参数分别为画布的宽(单位像素), 高, 背景颜色。

            如:turtle.screensize(800,600, "green")

                   turtle.screensize() #返回默认大小(400, 300)

            turtle.setup(width=0.5, height=0.75, startx=None, starty=None),参数:width, height: 输入宽和高为整数时, 表示像素; 为小数时, 表示占据电脑屏幕的比例,(startx, starty): 这一坐标表示矩形窗口左上角顶点的位置, 如果为空,则窗口位于屏幕中心。

            如:turtle.setup(width=0.6,height=0.6)

                   turtle.setup(width=800,height=800, startx=100, starty=100)


    2. 画笔

    2.1 画笔的状态

            在画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟。这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle绘图中,就是使用位置方向描述小乌龟(画笔)的状态。

    2.2 画笔的属性

            画笔(画笔的属性,颜色、画线的宽度等)

            1) turtle.pensize():设置画笔的宽度;

            2) turtle.pencolor():没有参数传入,返回当前画笔颜色,传入参数设置画笔颜色,可以是字符串如"green", "red",也可以是RGB 3元组。

            3) turtle.speed(speed):设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快。

    2.3 绘图命令

             操纵海龟绘图有着许多的命令,这些命令可以划分为3种:一种为运动命令,一种为画笔控制命令,还有一种是全局控制命令。

    (1)    画笔运动命令

    命令                                                                    说明

    turtle.forward(distance)                            向当前画笔方向移动distance像素长度

    turtle.backward(distance)                        向当前画笔相反方向移动distance像素长度

    turtle.right(degree)                                    顺时针移动degree°

    turtle.left(degree)                                      逆时针移动degree°

    turtle.pendown()                                       移动时绘制图形,缺省时也为绘制

    turtle.goto(x,y)                                           将画笔移动到坐标为x,y的位置

    turtle.penup()                                            提起笔移动,不绘制图形,用于另起一个地方绘制

    turtle.circle()                                              画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆

    setx( )                                                         将当前x轴移动到指定位置

    sety( )                                                         将当前y轴移动到指定位置

    setheading(angle)                                   设置当前朝向为angle角度

    home()                                                       设置当前画笔位置为原点,朝向东。

    dot(r)                                                          绘制一个指定直径和颜色的圆点

     

    (2)     画笔控制命令

    命令                                                     说明

    turtle.fillcolor(colorstring)    绘制图形的填充颜色

    turtle.color(color1, color2)    同时设置pencolor=color1, fillcolor=color2

    turtle.filling()    返回当前是否在填充状态

    turtle.begin_fill()    准备开始填充图形

    turtle.end_fill()    填充完成

    turtle.hideturtle()    隐藏画笔的turtle形状

    turtle.showturtle()    显示画笔的turtle形状

     

    (3)    全局控制命令

    命令    说明

    turtle.clear()    清空turtle窗口,但是turtle的位置和状态不会改变

    turtle.reset()    清空窗口,重置turtle状态为起始状态

    turtle.undo()    撤销上一个turtle动作

    turtle.isvisible()    返回当前turtle是否可见

    stamp()    复制当前图形

    turtle.write(s [,font=("font-name",font_size,"font_type")])    写文本,s为文本内容,font是字体的参数,分别为字体名称,大小和类型;font为可选项,font参数也是可选项

     

    (4)    其他命令

    命令    说明

    turtle.mainloop()或turtle.done()启动事件循环 -调用Tkinter的mainloop函数。必须是乌龟图形程序中的最后一个语句。

    turtle.mode(mode=None)    设置乌龟模式(“standard”,“logo”或“world”)并执行重置。如果没有给出模式,则返回当前模式。

                            模式                    初始龟标题            正角度

                           standard             向右(东)                    逆时针

                              logo                 向上(北)               顺时针

    turtle.delay(delay=None)设置或返回以毫秒为单位的绘图延迟。

    turtle.begin_poly()    开始记录多边形的顶点。当前的乌龟位置是多边形的第一个顶点。

    turtle.end_poly()    停止记录多边形的顶点。当前的乌龟位置是多边形的最后一个顶点。将与第一个顶点相连。

    turtle.get_poly()    返回最后记录的多边形。

     

    3. 命令详解

            3.1 turtle.circle(radius, extent=None, steps=None)

            描述:以给定半径画圆

            参数:

            radius(半径):半径为正(负),表示圆心在画笔的左边(右边)画圆;

            extent(弧度) (optional);

            steps (optional) (做半径为radius的圆的内切正多边形,多边形边数为steps)。

    举例:

    circle(50) # 整圆;

    circle(50,steps=3) # 三角形;

    circle(120, 180) # 半圆

     

    实例:

    1、太阳花

    # coding=utf-8
    import turtle
    import time

    # 同时设置pencolor=color1, fillcolor=color2
    turtle.color("red", "yellow")

    turtle.begin_fill()
    for _ in range(50):
    turtle.forward(200)
    turtle.left(170)
    turtle.end_fill()

    turtle.mainloop()


    2、五角星

    # coding=utf-8
    import turtle
    import time

    turtle.pensize(5)
    turtle.pencolor("yellow")
    turtle.fillcolor("red")

    turtle.begin_fill()
    for _ in range(5):
      turtle.forward(200)
      turtle.right(144)
    turtle.end_fill()
    time.sleep(2)
     
    turtle.penup()
    turtle.goto(-150,-120)
    turtle.color("violet")
    turtle.write("Done", font=('Arial', 40, 'normal'))

    turtle.mainloop()


    3、时钟程序

    # coding=utf-8
     
    import turtle
    from datetime import *
     
    # 抬起画笔,向前运动一段距离放下
    def Skip(step):
        turtle.penup()
        turtle.forward(step)
        turtle.pendown()
     
    def mkHand(name, length):
        # 注册Turtle形状,建立表针Turtle
        turtle.reset()
        Skip(-length * 0.1)
        # 开始记录多边形的顶点。当前的乌龟位置是多边形的第一个顶点。
        turtle.begin_poly()
        turtle.forward(length * 1.1)
        # 停止记录多边形的顶点。当前的乌龟位置是多边形的最后一个顶点。将与第一个顶点相连。
        turtle.end_poly()
        # 返回最后记录的多边形。
        handForm = turtle.get_poly()
        turtle.register_shape(name, handForm)
     
    def Init():
        global secHand, minHand, hurHand, printer
        # 重置Turtle指向北
        turtle.mode("logo")
        # 建立三个表针Turtle并初始化
        mkHand("secHand", 135)
        mkHand("minHand", 125)
        mkHand("hurHand", 90)
        secHand = turtle.Turtle()
        secHand.shape("secHand")
        minHand = turtle.Turtle()
        minHand.shape("minHand")
        hurHand = turtle.Turtle()
        hurHand.shape("hurHand")
       
        for hand in secHand, minHand, hurHand:
            hand.shapesize(1, 1, 3)
            hand.speed(0)
       
        # 建立输出文字Turtle
        printer = turtle.Turtle()
        # 隐藏画笔的turtle形状
        printer.hideturtle()
        printer.penup()
        
    def SetupClock(radius):
        # 建立表的外框
        turtle.reset()
        turtle.pensize(7)
        for i in range(60):
            Skip(radius)
            if i % 5 == 0:
                turtle.forward(20)
                Skip(-radius - 20)
               
                Skip(radius + 20)
                if i == 0:
                    turtle.write(int(12), align="center", font=("Courier", 14, "bold"))
                elif i == 30:
                    Skip(25)
                    turtle.write(int(i/5), align="center", font=("Courier", 14, "bold"))
                    Skip(-25)
                elif (i == 25 or i == 35):
                    Skip(20)
                    turtle.write(int(i/5), align="center", font=("Courier", 14, "bold"))
                    Skip(-20)
                else:
                    turtle.write(int(i/5), align="center", font=("Courier", 14, "bold"))
                Skip(-radius - 20)
            else:
                turtle.dot(5)
                Skip(-radius)
            turtle.right(6)
            
    def Week(t):   
        week = ["星期一", "星期二", "星期三",
                "星期四", "星期五", "星期六", "星期日"]
        return week[t.weekday()]
     
    def Date(t):
        y = t.year
        m = t.month
        d = t.day
        return "%s %d%d" % (y, m, d)
     
    def Tick():
        # 绘制表针的动态显示
        t = datetime.today()
        second = t.second + t.microsecond * 0.000001
        minute = t.minute + second / 60.0
        hour = t.hour + minute / 60.0
        secHand.setheading(6 * second)
        minHand.setheading(6 * minute)
        hurHand.setheading(30 * hour)
        
        turtle.tracer(False)
        printer.forward(65)
        printer.write(Week(t), align="center",
                      font=("Courier", 14, "bold"))
        printer.back(130)
        printer.write(Date(t), align="center",
                      font=("Courier", 14, "bold"))
        printer.home()
        turtle.tracer(True)
     
        # 100ms后继续调用tick
        turtle.ontimer(Tick, 100)
     
    def main():
        # 打开/关闭龟动画,并为更新图纸设置延迟。
        turtle.tracer(False)
        Init()
        SetupClock(160)
        turtle.tracer(True)
        Tick()
        turtle.mainloop()
     
    if __name__ == "__main__":
        main()

     

    展开全文
  • matlab作概率密度函数很简单,但是本人学的python,因此想用python作图,从txt文本读取数据,然后用python作概率密度函数图像
  • scipy.ndimage.filters.convolve函数def convolve(input, weights, output=None, mode='reflect', cval=0.0, origin=0) 函数定义如上,其中weight代表卷积核/滤波器,...opencv提供的函数。def filter2D(src, d.
    1. scipy.ndimage.filters.convolve函数
      def convolve(input, weights, output=None, mode='reflect', cval=0.0,
               origin=0)
      
      函数定义如上,其中weight代表卷积核/滤波器,mode代表填充方式,cval代表使用常数填充时的常数值,origin代表卷积核的中心位置偏移。函数返回值代表处理后的结果。
    2. cv2.filter2D函数
      opencv中提供的函数。
      def filter2D(src, ddepth, kernel, dst=None, anchor=None, delta=None, borderType=None)
      
      dst代表处理后的输出,ddepth代表输出图像的维度,-1代表与输入相同;anchor同样表明卷积核的中心位置,默认值(-1,-1)代表中心;delta代表在输出最终结果前对每个像素加上的偏移值;borderType类似于convolve函数中的mode,指边缘的填充方式。
    展开全文
  • 你可以几乎控制matplotlib中的每一个默认属性:图像大小,每英寸点数,线宽,色彩和样式,子图(axes),坐标轴和网格属性,文字和字体属性,等等。 安装 pip install matplotlib 虽然matplotlib的默认设置在大多数...
  • 今天打算通过绘制正弦和余弦函数,从默认的设置开始,一步一步地调整...你可以几乎控制matplotlib中的每一个默认属性:图像大小,每英寸点数,线宽,色彩和样式,子图(axes),坐标轴和网格属性,文字和字体属性,等等。
  • Turtle是python语言一个很流行绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y坐标系原点,(0,0)位置开始,它根据一组函数指令控制,在这个平面坐标系移动,从而在它爬行路径上绘制了图形。...

    Turtle是python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。
    官方文档网址:https://docs.python.org/3/library/turtle.html
    下面我们来了解一些Turtle基础知识:
    1、画布:可以设置绘图区域大小和初始位置。
    2、画笔:初始状态下在画布上有一个以坐标原点为中心的坐标轴,坐标原点上有一只面朝x轴正方向小乌龟,也就是画笔。
    3、绘图:操纵海龟(画笔)绘图有着许多的命令,这些命令可以划分为3种:一种为运动命令(见图一),一种为画笔控制命令(见图二),还有一种是全局控制命令(见图三),与其他命令(见图四)。

    欢迎大家转发,一起传播知识和正能量,帮助到更多人。辛苦大家转发时注明出处(也是咱们公益编程交流群的入口网址),刘经纬老师共享知识相关文件下载地址为:http://liujingwei.cn
    下面我们来看一个简单的例子(代码详解与运行结果见图五、六)

     

     

     

     

     

     

    展开全文
  • 基于python opencv的图像加权和函数

    千次阅读 热门讨论 2021-01-19 20:53:34
    今天给大家介绍一下opencv图像处理比较有意思东西:图像加权和函数 这个函数参数有点多,语法格式如下: dst=cv2.addWeighted(src1,alpha,src2,beta,gamma) src1//可以理解为Filename alpha//图像系数1 src2//另...

    今天给大家介绍一下opencv图像处理中比较有意思的东西:图像加权和函数
    这个函数参数有点多,语法格式如下:
    dst=cv2.addWeighted(src1,alpha,src2,beta,gamma)
    src1//可以理解为Filename
    alpha//图像系数1
    src2//另一个Filename
    beta//图像系数2
    gamma//光度调节量,就是字面意思,嗯…
    我今天本来是想利用这个函数将两张图片做一下加权和,结果过程还蛮曲折的。
    在这里插入图片描述
    这是我一开始的代码,我发现运行的时候老报错,我一度以为是我的大小写的问题,结果我看了好久 ,还是没改好。。。我人傻了
    下面是报的错
    在这里插入图片描述
    可能不太看的清。。。不过这不重要
    我会告诉你为什么会报错,居然是这个函数本身的要求:src1与src2的大小尺寸要相同
    我的天呐这也太坑了吧。。。
    所以我又自己改了一下chy1的尺寸
    在这里插入图片描述
    这里还有一个小细节,我们在使用imwrite函数的时候一定要放在destroyAllWindows前面不然是导不出图片的。。。本人亲测!
    在这里插入图片描述你看这不就好起来了,别问我为什么改尺寸用代码因为用电脑自带的图片改尺寸它的长宽比例是固定的你改长它宽也改,我要的是600*600的,就是不行,可能我太菜了,所以不如自己写程序改
    在这里插入图片描述yeah,这就是最终的代码了让我们看看成品吧!!!
    在这里插入图片描述
    真的是太帅了!!!(我都佩服我自己)
    陈鸿宇永远的神,祝陈叔32岁快乐!

    展开全文
  • 解决python中OpenCV库读取图像函数不支持中文路径问题 问题描述:   在使用cv2.imread()函数进行读取图片时候发现读取失败,首先需要确保路径有没有写错(如:\需要写成\),如果路径没有写错,但是报下面错误...
  • Python 各种imread函数的区别与联系

    万次阅读 多人点赞 2017-12-09 20:07:15
    Python 各种imread函数的区别与联系最近一直在用python图像处理相关东西,被各种imread函数搞得很头疼,因此今天决定将这些imread总结一下,以免以后因此犯些愚蠢错误。如果你正好也对此感到困惑可以看下这...
  • 本文基于这个需求,使用python中的图像处理库PIL来实现不同图像格式的转换。 对于彩色图像,不管其图像格式是PNG,还是BMP,或者JPG,在PIL中,使用Image模块的open()函数打开后,返回的图像对象的模式都是“RGB”...
  • OpenCV-Python中可以使用setMouseCallback来设置鼠标事件回调函数,我们来看个样例。 1.1、案例1代码 import numpy as np import cv2 #freetype mode = 0 #创建回调函数 def OnMouseAction(event,x,y,flags,...
  • v2.resize(src,dsize[,dst[,fx[,fy[,interpolation]]]])->dst 参数说明: src - 原图 dst - 目标图像。当参数dsize不为0时,dst...dst类型(type)和src图像相同 dsize - 目标图像大小。当dsize为0时...
  • Python绘制正余弦函数图像

    千次阅读 2018-08-28 04:41:23
    公众号:Python编程时光 今天打算通过绘制正弦和余弦函数,从默认的设置开始,一步一步地调整...你可以几乎控制matplotlib中的每一个默认属性:图像大小,每英寸点数,线宽,色彩和样式,子图(axes),坐标轴和网...
  • 一、用于条件筛选数组的索引和值得numpy.where() ...二、实现图片连通域标记的skimage.measure.label函数 相当于matlab的 bwlabel函数 ...三、筛选数组中的最大,最小值的 numpy.min()和numpy.max() https
  • python函数图像

    2020-10-25 19:26:17
    代码: import numpy as np import pylab as pl pl.rcParams['font.sans-serif']=['SimHei']#解决标题、坐标轴标签不能是中文问题 ...y=np.sin(x)#对数组所有元素求正弦值,得到新数组 pl.plot
  • 三者都可用于读入图像,但返回值不一样,第一个返回是RGB格式,而第二个返回是BGR格式,范围都是0~255,第三个返回也是RGB,但范围是0~1,所以在进行特征提取之前要在transformer设置transformer.set_raw_...
  • Python图像处理基本函数一(PIL库)

    千次阅读 2019-03-18 16:39:09
    Python图像处理基本函数一(PIL库) from .. import .. 从某个函数库导入某个函数;例如在使用Image.open函数时,可以从PIL函数导入:from PIL import Image #注:也可直接使用import,但是通常为了程序...
  • alpha.point(lambda i:i>0 and 160)i阈值范围设置是什么意思呀
  • 将不同几何变换应用于图像,如平移,旋转,仿射变换 学习函数:cv.getPerspectiveTransform 转换 OpenCV提供了两个转换函数cv.warpAffine和cv.warpPerspective,你可以使用它们进行各种转换。cv.warpAffine采用2...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,936
精华内容 1,174
关键字:

python中的图像函数

python 订阅