![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python
文章平均质量分 67
Python学习笔记
给算法爸爸上香
爱学习的图像算法工程师一枚
展开
-
卡尔曼滤波(KF)和增广卡尔曼滤波(EKF)实现
【代码】卡尔曼滤波(KF)和增广卡尔曼滤波(EKF)实现。原创 2024-01-01 14:21:53 · 493 阅读 · 0 评论 -
Python和C++使用的一些比较
说明在函数中修改list或者array的值会影响函数外原list或者原array的值,而修改int的值不会影响函数外原int的值。若把 a = [1, 2]换成a = (1, 2)则报错:‘tuple’ object does not support item assignment;换成a = {1, 2}则报错:‘set’ object is not subscriptable。说明在函数中修改vector的值不会影响函数外原vector的值。和Python的类似。报错:“a”: 未声明的标识符。原创 2023-07-08 10:19:49 · 277 阅读 · 0 评论 -
python多进程图像处理--提高工作效率
作为一名炼丹师,日常工作中免不了和大量的图像数据打交道。为此我们经常需要写一些python脚本来对这些图像进行自动化处理。python语言以语法简洁著称,但是其效率却一般。如果在工作中需要处理上万张甚至更多图片,往往花费大量时间在数据预处理上。采用多进程,可以充分发挥多核CPU的特性,大大提升程序的处理效率(Python多线程并不能发挥真正的多核CPU性能,故不推荐使用)。以彩色图转灰度图像为例,将一个文件夹下的所有图像转为灰度图写入另一个文件夹下:原创 2023-02-10 22:25:08 · 1127 阅读 · 0 评论 -
list删除指定元素/重复元素/指定索引元素
【代码】list删除指定元素/重复元素/指定索引元素。原创 2022-11-13 19:22:22 · 701 阅读 · 0 评论 -
Python绘图库:Matplotlib
rect 是位置参数,接受一个由 4 个元素组成的浮点数列表,形如 [left, bottom, width, height] ,它表示添加到画布中的矩形区域的左下角坐标(x, y),以及宽度和高度。这是 axes 类的基本方法,它将一个数组的值与另一个数组的值绘制成线或标记,plot() 方法具有可选格式的字符串参数,用来指定线型、标记颜色、样式以及大小。add_axes() 的参数值是一个序列,序列中的 4 个数字分别对应图形的左侧,底部,宽度,和高度,且每个数字必须介于 0 到 1 之间。原创 2022-11-08 23:04:02 · 2318 阅读 · 1 评论 -
Python内置库:shutil
首先需要import shutil。原创 2022-11-07 22:36:29 · 729 阅读 · 0 评论 -
OpenCV-Python常用操作速查
安装:pip install opencv-python。绘制矩形,圆形,直线等不同的形状。导入:import cv2。原创 2022-11-06 19:01:52 · 611 阅读 · 0 评论 -
Python内置库:math
floor(x):返回x的整数部分 (向负无穷取整,即向下取整,floor有地板的意思)ceil(x):返回x的整数部分 (向正无穷取整,即向上取整,ceil有天花板的意思)trunc(x):返回x的整数部分 (向中间取整,即正数向下取整,负数向上取整)hypot(x, y):得到(x2+y2)的平方根 (常用于求直角三角形斜边)log1p(x):返回x+1的自然对数(基数为e)的值。ldexp(x, i):返回x*(2**i)的值。sqrt(x):求x的(正)平方根。exp(x):返回常数e的x次方。原创 2022-11-06 18:36:22 · 353 阅读 · 0 评论 -
Python内置库:random
Python中产生随机数使用随机数种子来产生 (只要种子相同,产生的随机序列,无论是每一个数,还是数与数之间的关系都是确定的,所以随机数种子确定了随机序列的产生.python中用于生成伪随机数的函数库是random,使用时需要import random。生成一个[m,n)之间以k(默认为1)为步长的随机整数.将序列seq中元素随机排列,返回打乱后的序列。生成一个[0.0,1.0)之间的随机小数.生成一个[a,b]之间的随机整数.生成一个[a,b]之间的随机小数.从序列中随机选择一个元素。原创 2022-11-06 17:01:59 · 639 阅读 · 0 评论 -
Python内置库:pathlib
Path(“文件路径”).stem, Path(“文件路径”).suffix 将文件名分离,分成前缀和后缀。Path(“文件路径”).is_absolute() 判断当前路径是否为绝对路径。Path(“文件路径”).rename(“xxx”) 重命名文件/文件夹名称。Path(“文件路径”).is_file() 判断当前路径是否为文件。Path(“文件路径”).is_dir() 判断当前路径是否为目录。Path(“文件路径”).stat() 返回当前路径的信息。原创 2022-11-06 15:01:29 · 3178 阅读 · 0 评论 -
Python人工智能数学基础-概率统计
产生正态随机变量:from scipy.stats import norm# draw a single sampleprint(norm.rvs(), end="\n\n") #产生1个标准正态分布的随机值# draw 10 samplesprint(norm.rvs(size=10), end="\n\n") #产生10个标准正态分布的随机值# adjust mean ('loc') and standard deviation ('scale')print(norm.rvs(loc原创 2022-05-30 00:00:39 · 760 阅读 · 0 评论 -
Python人工智能数学基础-线性代数
矩阵的创建:1.直接创建import numpy as npA=[[1,2,3,4],[5,6,7,8],[9,10,11,12]]arr1=np.array(A) #将列表转化为矩阵print("A=",A)print("通过列表A创建的矩阵:\n",arr1)B=((1,2,3,4),(5,6,7,8),(9,10,11,12))arr2=np.array(B) #将元组转化为矩阵print("B=",B)print("通过列表B创建的矩阵:\n",arr2)print("A的原创 2022-05-29 00:09:10 · 671 阅读 · 0 评论 -
Python人工智能数学基础-微积分
求极限lim(x→∞)sinx/ximport sympyfrom sympy import oo # 注意无穷符号表示形式为两个小写字母 ox=sympy.Symbol('x') # 注意 Symbol 第一字母大写f=sympy.sin(x)/xprint (sympy.limit(f,x,oo))求极限lim(x→∞)sinx/(3x+x³)import sympyx=sympy.Symbol('x') f=sympy.sin(x)/(3*x+x**3)print(sympy.l原创 2022-05-28 00:05:47 · 290 阅读 · 0 评论 -
Python数据分析库:Pandas
本文是对pandas官方网站上《10minutes to pandas》的一个简单的翻译。习惯上,我们会按下面格式引入所需要的包:In [1]: import numpy as npIn [2]: import pandas as pd1. 创建对象1、可以通过传递一个list对象来创建一个series,pandas会默认创建整型索引:In [3]: s = pd.Series([1, 3, 5, np.nan, 6, 8])In [4]: sOut[4]: 0 1.01原创 2022-05-27 12:30:07 · 631 阅读 · 0 评论 -
Python科学计算库:Numpy
1.数组的创建numpy中使用array()函数创建数组,array的首个参数一定是一个序列,可以是元组也可以是列表。1.1 一维数组的创建可以使用numpy中的arange()函数创建一维有序数组,它是内置函数range的扩展版。In [1]: import numpy as npIn [2]: ls1 = range(10)In [3]: list(ls1)Out[3]: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]In [4]: type(ls1)Out[4]: r原创 2022-04-19 11:54:41 · 159 阅读 · 0 评论 -
Python模块和包
1. 模块1.1 模块的概念模块是 Python 程序架构的一个核心概念每一个以扩展名 py 结尾的 Python 源代码文件都是一个 模块模块名 同样也是一个 标识符,需要符合标识符的命名规则在模块中定义的 全局变量 、函数、类 都是提供给外界直接使用的 工具模块 就好比是 工具包,要想使用这个工具包中的工具,就需要先 导入 这个模块1.2 模块的两种导入方式1.2.1 import 导入提示:在导入模块时,每个导入应该独占一行import 模块名1import 模块名2导入之后原创 2022-04-18 12:10:38 · 210 阅读 · 0 评论 -
Python文件
1. 文件的基本操作1.1 操作文件的套路在 计算机 中要操作文件的套路非常固定,一共包含三个步骤:打开文件读、写文件关闭文件1.2 操作文件的函数/方法在 Python 中要操作文件需要记住 1 个函数和 3 个方法序号 函数/方法 说明01 open 打开文件,并且返回文件操作对象02 read 将文件内容读取到内存03 write 将指定内容写入文件04 close 关闭文件open 函数负责打开文件,并且返回文件对象read/write/close 三个方法都需要通过 文原创 2022-04-18 12:10:14 · 72 阅读 · 0 评论 -
Python异常
1. 异常的概念程序在运行时,如果 Python 解释器 遇到 到一个错误,会停止程序的执行,并且提示一些错误信息,这就是 异常程序停止执行并且提示错误信息 这个动作,我们通常称之为:抛出(raise)异常程序开发时,很难将 所有的特殊情况 都处理的面面俱到,通过 异常捕获 可以针对突发事件做集中的处理,从而保证程序的 稳定性和健壮性2. 捕获异常2.1 简单的捕获异常语法在程序开发中,如果 对某些代码的执行不能确定是否正确,可以增加 try(尝试) 来 捕获异常捕获异常最简单的语法格式:t原创 2022-04-18 12:09:31 · 183 阅读 · 0 评论 -
Python面向对象:类属性和类方法
1. 类的结构1.1 实例使用面相对象开发,首先是设计 类使用 类名() 创建对象,创建对象 的动作有两步:在内存中为对象 分配空间调用初始化方法 init 为 对象初始化对象创建后,内存 中就有了一个对象的 实实在在 的存在 —— 实例因此,通常也会把:创建出来的 对象 叫做 类 的 实例创建对象的 动作 叫做 实例化对象的属性 叫做 实例属性对象调用的方法 叫做 实例方法在程序执行时:对象各自拥有自己的 实例属性调用对象方法,可以通过 self.访问自己的属性、调用自己的原创 2022-04-17 12:13:28 · 217 阅读 · 0 评论 -
Python面向对象:继承和多态
单继承1.1 继承的概念、语法和特点继承的概念:子类 拥有 父类 的所有 方法 和 属性011_继承对比图示继承的语法class 类名(父类名):pass子类 继承自 父类,可以直接 享受 父类中已经封装好的方法,不需要再次开发子类 中应该根据 职责,封装 子类特有的 属性和方法专业术语Dog 类是 Animal 类的子类,Animal 类是 Dog 类的父类,Dog 类从 Animal 类继承Dog 类是 Animal 类的派生类,Animal 类是 Dog 类的基类,.原创 2022-04-17 12:12:32 · 213 阅读 · 0 评论 -
Python面向对象:私有属性和私有方法
1. 应用场景及定义方式应用场景:在实际开发中,对象 的 某些属性或方法 可能只希望 在对象的内部被使用,而 不希望在外部被访问到私有属性 就是 对象 不希望公开的 属性私有方法 就是 对象 不希望公开的 方法定义方式:在 定义属性或方法时,在 属性名或者方法名前 增加 两个下划线,定义的就是 私有 属性或方法class Women: def __init__(self, name): self.name = name # 不要问女生的年龄原创 2022-04-17 12:12:10 · 142 阅读 · 0 评论 -
Python面向对象:基本语法
1. dir 内置函数在 Python 中 对象几乎是无所不在的,我们之前学习的 变量、数据、函数 都是对象在 Python 中可以使用以下两个方法验证:在 标识符 / 数据 后输入一个 .,然后按下 TAB 键,iPython 会提示该对象能够调用的 方法列表使用内置函数 dir 传入 标识符 / 数据,可以查看对象内的 所有属性及方法提示 方法名 格式的方法是 Python 提供的 内置方法 / 属性,稍后会给大家介绍一些常用的 内置方法 / 属性序号 方法名 类型 作用01 new 方法原创 2022-04-16 12:00:26 · 141 阅读 · 0 评论 -
Python面向对象:基本概念
面向对象编程 —— Object Oriented Programming 简写 OOP面相过程和面相对象,是两种不同的编程方式1 过程和函数过程 是早期的一个编程概念过程 类似于函数,只能执行,但是没有返回值函数 不仅能执行,还可以返回结果2 面相过程和面相对象面相过程 —— 怎么做?把完成某一个需求的 所有步骤 从头到尾 逐步实现根据开发需求,将某些 功能独立 的代码 封装 成一个又一个 函数最后完成的代码,就是顺序地调用 不同的函数特点:注重 步骤与过程,不注重职责分工如果需原创 2022-04-16 12:00:02 · 132 阅读 · 0 评论 -
Python基础:函数进阶
1. 函数参数和返回值函数根据 有没有参数 以及 有没有返回值,可以 相互组合,一共有 4 种 组合形式无参数,无返回值无参数,有返回值有参数,无返回值有参数,有返回值定义函数时,是否接收参数,或者是否返回结果,是根据 实际的功能需求 来决定的!如果函数 内部处理的数据不确定,就可以将外界的数据以参数传递到函数内部如果希望一个函数 执行完成后,向外界汇报执行结果,就可以增加函数的返回值1.1 无参数,无返回值此类函数,不接收参数,也没有返回值,应用场景如下:只是单纯地做一原创 2022-04-15 11:55:15 · 250 阅读 · 0 评论 -
Python基础:变量进阶
1. 变量的引用变量 和 数据 都是保存在 内存 中的在 Python 中 函数 的 参数传递 以及 返回值 都是靠 引用 传递的1.1 引用的概念在 Python 中变量 和 数据 是分开存储的数据 保存在内存中的一个位置变量 中保存着数据在内存中的地址变量 中 记录数据的地址,就叫做 引用使用 id() 函数可以查看变量中保存数据所在的 内存地址注意:如果变量已经被定义,当给一个变量赋值的时候,本质上是 修改了数据的引用变量 不再 对之前的数据引用变量 改为 对新原创 2022-04-15 11:54:57 · 79 阅读 · 0 评论 -
Python基础:高级变量
1. 列表1.1 列表的定义List(列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组专门用于存储 一串信息列表用 [] 定义,数据 之间使用 , 分隔列表的 索引 从 0 开始索引 就是数据在 列表 中的位置编号,索引 又可以被称为 下标注意:从列表中取值时,如果 超出索引范围,程序会报错name_list = ["zhangsan", "lisi", "wangwu"]1.2 列表常用操作序号分类关键字 / 函数 / 方法原创 2022-04-15 11:54:37 · 86 阅读 · 0 评论 -
Python基础:函数
1 函数的定义定义函数的格式如下:def 函数名(): 函数封装的代码def 是英文 define 的缩写函数名称 应该能够表达 函数封装代码 的功能,方便后续的调用函数名称 的命名应该 符合 标识符的命名规则可以由 字母、下划线 和 数字 组成不能以数字开头不能与关键字重名2 函数调用调用函数很简单的,通过 函数名() 即可完成对函数的调用3 函数参数3.1 参数的作用在函数名的后面的小括号内部填写 参数多个参数之间使用 , 分隔def sum_2_n原创 2022-04-14 15:46:19 · 195 阅读 · 0 评论 -
Python基础:判断和循环语句
1 if 判断语句在 Python 中,if 语句 就是用来进行判断的,格式如下:if 要判断的条件: 条件成立时,要做的事情if 语句以及缩进部分是一个 完整的代码块if 要判断的条件: 条件成立时,要做的事情else: 条件不成立时,要做的事情if 和 else 语句以及各自的缩进部分共同是一个 完整的代码块if 条件1: 条件1满足执行的代码elif 条件2: 条件2满足时,执行的代码elif 条件3: 条件3满足时,执行的原创 2022-04-14 15:46:02 · 201 阅读 · 0 评论 -
Python基础:变量
1. 变量定义在 Python 中,每个变量 在使用前都必须赋值,变量 赋值以后 该变量 才会被创建等号(=)用来给变量赋值= 左边是一个变量名= 右边是存储在变量中的值变量名 = 值2. 变量的类型在内存中创建一个变量,会包括:变量的名称变量保存的数据变量存储数据的类型变量的地址(标示)2.1 变量的类型在 Python 中定义变量是 不需要指定类型(在其他很多高级语言中都需要)数据类型可以分为 数字型 和 非数字型数字型整型 (int)浮点型(原创 2022-04-13 15:29:53 · 261 阅读 · 0 评论 -
Python基础:运算符
算数运算符1. 算数运算符算数运算符是 运算符的一种是完成基本的算术运算使用的符号,用来处理四则运算运算符描述实例+加10 + 20 = 30-减10 - 20 = -10*乘10 * 20 = 200/除10 / 20 = 0.5//取整除返回除法的整数部分(商) 9 // 2 输出结果 4%取余数返回除法的余数 9 % 2 = 1**幂又称次方、乘方,2 ** 3 = 8在 Python 中 * 运原创 2022-04-13 15:11:01 · 141 阅读 · 0 评论