自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 (100天2小时第三十六天)深度学习与计算机视觉的交叉领域

机器学习和计算机视觉是人工智能的更大研究领域深度学习是机器学习的一个子集,它与计算机视觉相交,并且属于更大的AI领域。这节课重点讲解深度学习与计算机视觉的交叉部分。人工智能是个非常成功的研究领域。养了一只猫和一只电极,电极进入猫的大脑,进入猫的视觉表层,处理视觉数据的头部后面部分。电极:能够记录神经元的一些活动。猫的视觉皮层中的单个神经元,他们使用怪异的实验装置让猫看电视,不是真正的电视,是各种各样的幻灯片,假设大脑中有某些神经元做...

2020-11-30 10:50:00 228

原创 (100天2小时第三十二天)分水岭分割

用分水岭分割来分离图像中相互接触的对象。分水岭变换经常应用于此问题。分水岭变换通过将图像视为一个曲面,其中亮像素表示较高处,暗像素表示较低处,从而找出图像中的“汇水盆地”和“分水岭脊线”。如果能够标识或“标记”前景对象和背景位置,使用分水岭变换的分割效果会更好。标记控制的分水岭分割遵循以下基本过程:1.计算分割函数。这得到是一个图像,其中暗区域是您尝试分割的对象。2.计算前景标记。这些是每个对象中连通的像素斑点。3.计算背景标记。这些像素不是任何对象的一部分。4.修正分割函数,使其仅

2020-11-26 21:45:42 360 1

原创 (100天2小时第三十一天)图像处理基础(三)

十一、直方图及直方图均衡化1.概念:一幅单色图像的直方图是指图像中各个灰度值出现频率的统计表达。图像的直方图p(r)代表图像中灰度值为r的像素的个数除以总像素所形成的函数,可视为概率密度函数的一个估测(归一化直方图)。直方图可表示为:直方图常用一个条状柱形图来表示,其中每一个灰度一个柱形条,条的高度正比于对应该灰度值的像素数目。统计灰度直方图:2.直方图均衡化步骤:(1).计算直方图(2).直方图归一化(3)计算累计分布直方图(4)计算新灰度级 *(L-1

2020-11-25 18:19:41 154

原创 (100天2小时第三十一天)图像处理基础(二)

七、图像处理中的数学运算线性操作与非线性操作1.图像与常熟的加法运算一幅图像与一个大于0的常数相加,输出图像的整体亮度明显提升,也称为加性图像平移。一幅图像减去一个大于0的常数,将减小图像的整体亮度,这个过程称为碱性图像偏移。加法运算注意:超过所用数据类型允许的最大像素值,保证灰度级不变——归一化加法应用:将一副图像的内容叠加到另一幅图像上,从而实现二次曝光对图像的各个像素值加随机量会得到一副带噪声的图像。2.减法应用图像的减法运算常用

2020-11-25 18:13:54 250

原创 (100天2小时第三十一天)图像处理基础(一)

一、图像的数字化1.两个重要指标空间分辨率:是描述一幅图像中像素密度的一种方式,同时也是图像空间中可辨别的最小细节。灰度分辨率:是指灰度值的单位幅度上包含的灰度级数,即在灰度级数中可分辨的最小变化。2.对比度对比度是指一幅图像中灰度反差的大小,用于表示图像在灰度层级上的差异。指的是一幅图像中明暗区域最亮的白和最暗的黑之间不同亮度层级的测量。 根据该公式,当图像明暗之间的差异越大时(对比度的...

2020-11-25 18:05:53 380

原创 (100天2小时第二十九天)matlab基本命令

1.图像的读取 如果文件和图片地址在一个文件夹下面I = imread('tu1.jpg');2.图像的写入imwrite(I,'filename')3.图像的显示I=imread('tu1.jpg');imshow(I)4.关闭图形窗口 close()函数5.同时显示多幅图像I=imread('tu3.jpg');J=imread('tu2.jpg');figure;subplot(1,2,1),imshow(I);title...

2020-11-23 17:07:55 137

原创 (100天2小时第二十九天)几种常见的图像噪声及去噪处理算法

一、背景 在图像获取、传输、存储过程中常常会受到各种噪声的干扰,从而影响图像的质量。并且图像预处理算法的好坏又直接关系到后续图像处理的效果,如图像分割、目标识别、边缘处理等,所以为了获得高质量数字图像,有必要对图像进行降噪处理,尽可能的保持原始信息完整性的同时,又能够去除信号中无用的信息。图像去噪的最终目的是改善给定的图像,解决实际图像由于噪声干扰而导致图像质量下降的问题。二、图像噪声的概念 噪声可以理解为“妨碍人们感官器官对所接收的信源信息理解的因素”。例如,一副黑白图像,其...

2020-11-23 15:52:22 10176

原创 (100天2小时第二十九天)数字图像处理的基本步骤

数字图像处理划分为两个类别:一类输入输出都是图像。一类是输入可能是图像,输出是图像中提取的属性。1.图像获取:图像获取是图像处理的第一步处理,图像获取与给出一幅数字形式的图像一样简单。通常,图像获取阶段包括图像预处理,譬如图像缩放。2.图像增强:是对一幅图像进行操作,使其结果在特定应用中比原始图像更适合进行处理。“特定”一词很重要,因为技术增强建立在面向问题的基础上。图像增强包括平滑和锐化。3.图像复原:是改进图像外观的处理领域,与图像增强不同,图像增强是主观的,图像复原是客观的。图像复原倾向于

2020-11-23 10:44:41 2358

原创 (100天2小时第二十八天)图像处理基础

一、图像灰度化基本原理:灰度化,在RGB模型中,如果R+G+B时,则彩色表示一种灰度颜色,其中R=G=B的值叫做灰度值。因此,灰度图像每个像素只需要一个字节存放灰度值(又称强度值、亮度值),灰度范围为0~255。一般有分量法、最大值法、平均值法、加权平均法四种方法对彩色图像进行灰度化。图像灰度处理可以作为图像处理的预处理步骤,为之后的图像分割、图像识别和图像分析等上层操作做准备。在数字图像处理中一般先将各种样式的图像转变为灰度图像以使后续的图像的计算量变的少一些。灰度图像的描述与彩色图像一样仍然反映了整

2020-11-22 21:52:14 153

原创 (100天2小时第二十四天)重塑数据集、清理数据集

一、重塑数据集1、旋转数据(1)重塑索引、分为stack(将数据的列旋转为行)和unstack(将数据的行旋转为列)。(2)将‘长格式’旋转为‘宽格式’2.转换数据(1)数据替换,将某一值或多个值用新的值进行代替。(比较常用的是缺失值或异常值处理,缺失值一般都用NULL、NAN标记,可以用新的值代替缺失标记值)。方法是replace。data=pd.Series([1,-999,2,-999,-1000,3])print(data)print(data.replace(-999

2020-11-18 19:51:38 289

原创 (100天2小时第二十四天)数据整理—合并数据集

一、数据库风格的合并df1=pd.DataFrame({'key':['b','b','a','c','a','a','b'],'data1':range(7)})print(df1)df2=pd.DataFrame({'key':['a','b','d'],'data2':range(3)})print(df2)print(pd.merge(df1,df2))#数据合并 key data10 b 01 b 12 a 23 c

2020-11-18 17:20:36 151

原创 (100天2小时第二十三天)几种简单填充缺失值的方法

一、固定值填充df1['Age']=df1['Age'].fillna(20)print(df1.isnull().sum())#输出时该项已经无缺失值二、均值填充# 数据需是int或float类型df['Age'] = df['Age'].fillna(df['Age'] .mean())三、众数填充# 数据需是int或float类型df['Age'] = df['Age'].fillna(df['Age'] .mode()) 四、上下数据填充# 用前一个非缺

2020-11-17 19:37:43 343

原创 (100天2小时第二十三天)python数据分析画图

怎么画出柱状图、饼状图、折线图,以及如何添加标题及图例一、柱状图:sns.countplot()函数,以bar的形式展示每个类别的数量plt.figure(figsize = (10,5)) # 创建画布plt.subplot(121) # 添加第一个子图sns.countplot(x='Survived',data=df)plt.title('Survived count') 二、饼状图(pie)total_survived = df['Survived'].sum..

2020-11-17 17:53:24 169

原创 (100天2小时第二十二天)读取csv、保存csv文件,缺失值处理

一、给你一个csv文件,怎么用pandas读取,怎么保存csv文件? 1.若文件名为:train.csv 2.读取数据:pd.read_csv('train.csv') 保存数据: (1)在Excel 中打开需要存为csv的文件 (2)在文件上方的菜单栏中选择文件选项的另存为,在弹出的选项中选择并点击“其他格式”选项按扭,进入下一页面。 (3)在存储文件类型的选项栏中选择“CVS”类型,如下图所示,选好后点击保存。 ...

2020-11-16 20:17:08 2103

原创 (100天2小时第二十二天)实例分析:泰坦尼克号数据分析

案例分析:利用pandas来做一个实际案例分析。背景:船要沉了,我们根据各种影响因素,判断什么因素对船上成员的存活率影响较大。先下载训练集名为train.csv,把该文件与程序文件放在同一个文件夹下。1.导包:import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as sns2.导入文件f=pd.read_csv('train.csv')print(df)pr

2020-11-16 17:18:32 312 1

原创 (100天2小时第二十一天)一周总结numpy和pandas

2020-11-15 16:23:19 94 1

原创 (100天2小时第十八天)Pandas入门

一、导入库from pandas import Series,DataFrameimport pandas as pd二、创建Series取索引Series对象有loc和iloc成员变量,如下图所示:loc的数据类型为pandas.core.indexing,_LocIndexer,iloc的数据类型为pandas.core.indexing,_iLocIndexer,用loc进行索引时,中括号[ ]中的值必须是索引的真实值;用iloc进行索引时,中括号[ ]中的值必须是整数,与列表

2020-11-12 21:37:08 788

原创 (100天2小时第十七天)索引

我们前面学过了numpy普通的python方式的索引和切片,现在学习整数数组或布尔数组索引。一、数组索引a = np.arange(12) ** 2print(a)i = np.array([1,1,3,8,5])print(i)print(a[i])# 返回a中再索引i的元素j = np.array([[3, 4], [9, 7]])print(j)[ 0 1 4 9 16 25 36 49 64 81 100 121][1 1 3 8 5][ 1

2020-11-11 17:05:18 154 2

原创 (100天2小时第十七天)广播机制

属于广播主要描述于numpy对于不同shape的数组如何进行算术运算。受限于一些特定约束。一般都是小的数组扩展为大的数组,以便能计算。1.通常情况下,numpy操作的数组必须是相同shape的。a = np.array([1.0, 2.0, 3.0])b = np.array([2.0, 2.0, 2.0])print(a * b)[2. 4. 6.]2.当数组的shape满足某些特定约束时,numpy的广播机制可以使这个约束更宽松。最简单的就是广播例子就是当数组和一个标量操作时

2020-11-11 15:54:49 240

原创 (100天2小时第十六天)复制和视图(Views)

一.不复制import numpy as npa = np.arange(12)print(a)b=a #不会有新对象产生print(b is a)print(b.shape)b.shape = 3, 4 #改变b的shape,a也同样变化print(a.shape)print(a)[ 0 1 2 3 4 5 6 7 8 9 10 11]True(12,)(3, 4)[[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]

2020-11-10 17:41:50 146 1

原创 (100天2小时第十六天)shape操作、数组合并、数组切割

一、改变数组的shape1.许多函数都可以改变数组的shape,但是它们都是返回一个新的修改后的数组,并不会改变原数组。a = np.floor(10*np.random.random((3,4)))print(a)print(a.ravel())# 返回降维的数组print(a.reshape(6,2))# 直接修改shapeprint(a.T)# 数组转置print(a.T.shape)print(a.shape) floor(x),也写做Floor(x),其功能是“向下.

2020-11-10 13:38:41 346

原创 (100天2小时第十六天)numpy数组——索引,切片和迭代

一、通用函数B = np.arange(3)print(B)print(np.exp(B))print(2.71828183 * 2.71828183)print(np.sqrt(B))C = np.array([2., -1., 4.])print(np.add(B, C))二、索引,切片和迭代一维数组的索引,切片,迭代跟普通的python列表一样a = np.arange(10) ** 3print(a)print(a[2])print(a[2:5])prin

2020-11-10 10:22:33 188 1

原创 (100天2小时第十五天)numpy数组的基本运算

一.基本操作1.数组的算术运算会自动作用于每个元素,并返回一个新的数组。 +号a = np.array([20,30,40,50])b = np.arange(4)#默认0,1,2,3c = a - bprint(c)print(b*2)print(np.sin(a))print(10 * np.sin(a))print(a < 35)*号,*返回的是每个元素相乘的结果,要实现矩阵乘法,需要使用dot函数a = np.array([[1, 1], ..

2020-11-09 18:18:33 360

原创 (100天2小时第十五天)numpy数组

一.安装numpy包,安装成功后检测:import numpy as npprint(np.version.version)二.基础数组例子Numpy中,维度被称作axes, 维度数被称作rank。Numpy的数组类是ndarray, 与标准python库的数组不太一样,它包含的元素必须是相同类型的。ndarray的常见属性如下:ndarray.ndim数组的轴数(即rank) ndarray.shape数组的维度,返回的是一个元组,元组的长度值刚好是ndim nda..

2020-11-09 16:42:13 153 1

原创 (100天2小时第十四天)请求web api:requests

一、安装requests在pycharm中File——>Settings——>点右边+——>输入requests——>点左下安装查看安装是否成功:import requestsr=requests.get("http://www.baidu.com")print(r.status_code)print(r.text)运行出来证明安装成功!二、几种请求类型  ①get请求:requests.get('url')  ②post请求:...

2020-11-08 12:42:10 80

原创 (100天2小时第十一天)正则模块re(3)元字符之转义符\

元字符之转义符\1.反斜杠后边跟元字符去除特殊功能:\d 匹配任何十进制数;它相当于类 [0-9]。\D 匹配任何非数字字符;它相当于类 [^0-9]。\s 匹配任何空白字符;它相当于类 [ \t\n\r\f\v]。\S 匹配任何非空白字符;它相当于类 [^ \t\n\r\f\v]。\w 匹配任何字母数字字符;它相当于类 [a-zA-Z0-9_]。\W 匹配任何非字母数字字符;它相当于类 [^a-zA-Z0-9_]\b 匹配一个特殊字符边界,比如空格 ,&,#等ret=...

2020-11-05 15:43:13 225

原创 (100天2小时第十一天)正则模块 re(2). ^ $ * + ? { }

字符匹配:1.普通字符 2.元字符:. ^ $ * + ? { } [ ] | ( ) \1. .是一个通配符,一个点代表一个字符s = re.findall("a...x","adsfaeyuxslg")print(s)s = re.findall("a..x","adsxaeyxslg")print(s)2.^这个代表以什么开头,^a,代表以a开头,a必须是字符串的第一个字母s = re.findall("^a..x","adsfaeuxslg")print(s)s .

2020-11-05 14:31:52 146

原创 (100天2小时第十天)正则模块 re

正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配。re 模块使 Python 语言拥有全部的正则表达式功能。1.re.match函数函数语法:re.match(pattern, string, flags=0)函数参数说明: 参数 描述 pattern 匹配的正则表达式 string 要匹配的字符串。 flags

2020-11-04 19:46:21 190

原创 (100天2小时第九天)json模块

1.json是一种轻量级的数据交换格式。它包含了两个函数:json.dumps():对数据进行编码。 json.loads():对数据进行解码。import json# Python 字典类型转换为 JSON 对象data1 = { 'no': 1, 'name': 'Runoob', 'url': 'http://www.runoob.com'}json_str = json.dumps(data1)#编码print("Python 原始数据:"..

2020-11-03 21:00:58 246 1

原创 (100天两小时第九天)random模块、sys模块、os模块

一、random模块1.random()方法返回随机生成的一个实数,它在[0,1)范围内。random()是不能直接访问的,需要导入 random 模块,然后通过 random 静态对象调用该方法:import randomprint(random.random())#生成0-1之间的浮点数import randomprint(random.random())#生成0-1之间的浮点数print(random.randint(1,3))#随机生成传入参数范围内的一个整数p...

2020-11-03 19:55:06 1998

原创 (100天2小时第九天)datetime模块

datetime 比 time 高级了不少,可以理解为 datetime 基于 time 进行了封装,提供了更多实用的函数。在datetime 模块中包含了几个类,具体关系如下:1.timedelta # 主要用于计算时间跨度2.datetime # 同时有时间和日期在实际实用中,用得比较多的是 datetime.datetime 和 datetime.timedelta 。 下面主要讲讲 datetime.datetime 的使用:使用datetime.datetime.now()可以..

2020-11-03 16:26:17 184 1

原创 (100天2小时第八天)python 常用的内置模块——日期和时间

Python 提供了一个time 和 calendar 模块可以用于格式化日期和时间。一、time模块:1.在Python中,通常有这几种方式来表示时间:时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。 格式化的时间字符串 元组(struct_time) :struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中...

2020-11-02 21:06:57 184

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除