- 博客(59)
- 收藏
- 关注
原创 Shell入门终章
基本语法Action;]}经验技巧(1)必须在调用函数地方之前,先声明函数,shell脚本是逐行运行。不会像其它语言一样先编译(2)函数返回值,只能通过$?系统变量获得,可以显示加return返回,如果不加,将以最后一条命令运行结果,作为返回值。return后跟数值n(0-255)案例实操计算两个输入参数的和。"n1;"n2;$./fun.sh57。...
2022-07-22 20:11:47
142
原创 哈希表与树_java实现
有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id,性别,年龄,住址…),当输入该员工的id时,要求查找到该员工的所有信息.要求:不使用数据库,尽量节省内存,速度越快越好=>哈希表(散列)散列表(Hashtable,也叫哈希表),是根据关键码值(Keyvalue)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id,性别,年龄,名字,
2022-07-10 20:51:13
165
原创 week1
算法打卡week11、有效的数独2、矩阵置零3、存在重复元素4、最大子数组和5、买卖股票的最佳时机1、有效的数独力扣链接此题为中等难度的一道题,考察的主要的数据结构为数组,本次5道题都是数组的题目。本道题目属中等难度,固然是可以通过暴力解法来进行求解,当然,我们要从三个角度进行遍历与判断。相信大部分都玩过数独,因此这里不再对判断方法进行 赘述。主要难点其实在于第三种遍历与判断方式,就是九宫格的判断。这里我们对行和列做出了不同的遍历条件,通过画图去试,去凑,我们很巧地凑出列运算取余数,因为列下标
2022-03-06 22:26:57
537
原创 opencv高级课程以及部分错误修正
文章目录前言一、手部识别1.功能实现2.保存为模块及常见问题二、姿势识别1.功能实现2.保存为模块及常见问题总结前言本文主要记录了opencv高级课程部分的一些笔记以及受版本等引起的错误分享。改错确实是件令人头疼的事情。提示:以下是本篇文章正文内容。一、手部识别Opencv库自带的有人脸识别,而我们的需求远远不满足于脸部,为方便识别其他部位,我们引入一个新库,mediapipe,这里面有着众多识别库,可以在移动端以及pc端上执行。1.功能实现import cv2import medi
2022-01-04 18:06:15
2500
原创 prim算法和Kruskal算法
文章目录一、prim算法1.基本介绍2.应用场景——修路问题3.代码实现二、Kruskal算法1.基本介绍2.应用场景3.代码实现一、prim算法1.基本介绍普利姆(Prim)算法求最小生成树,也就是在包含n个顶点的连通图中,找出只有(n-1)条边包含所有n个顶点的连通子图,也就是所谓的极小连通子图普利姆的算法如下:1.设G=(V,E)是连通网,T=(U,D)是最小生成树,V,U是顶点集合,E,D是边的集合2.若从顶点u开始构造最小生成树,则从集合V中取出顶点u放入集合u中,标记顶点v的vi
2021-12-26 19:55:54
1396
原创 OpenCV小结+几个小项目
文章目录一、小结1.调用本机摄像头2.图像的基本操作3.调整图像大小4.插入文字5.提取图片6.颜色跟踪7.获取绘制轮廓8.人脸识别二、小项目1.自动识别颜色并跟踪2.自动识别并纠正文件一、小结1.调用本机摄像头cv2.VideoCapture(0):0是默认调用本机摄像头,如果有多个摄像头的话可更改序列。import cv2frameWidth = 640frameHeight = 480cap = cv2.VideoCapture(0)cap.set(3, frameWidth)c
2021-12-26 18:13:06
4218
1
原创 OpenCV_背景建模和光流估计
文章目录一、背景建模1.帧差法2.混合高斯模型3.代码二、光流估计1.Lucas-Kanade 算法2.cv2.calcOpticalFlowPyrLK()方法一、背景建模首先,什么属于背景?我们主观上很容易去判断一张图片里哪部分是背景,但是计算机并不能去识别哪里是背景,因此我们要想办法告诉计算机哪些部分是背景。1.帧差法由于场景中的目标在运动,目标的影像在不同图像帧中的位置不同。该类算法对时间上连续的两帧图像进行差分运算,不同帧对应的像素点相减,判断灰度差的绝对值,当绝对值超过一定阈值时,即可
2021-12-19 17:45:16
404
原创 图像全景拼接
文章目录一、特征匹配1.Brute-Force蛮力匹配2.一对一的匹配3.k对最佳匹配二、随机抽样一致算法(Random sample consensus,RANSAC)三、全景拼接实战一、特征匹配1.Brute-Force蛮力匹配蛮力匹配就是暴力匹配,这里通过代码与实例进行展示。import cv2 import numpy as npimport matplotlib.pyplot as plt%matplotlib inlineimg1 = cv2.imread('box.png
2021-12-12 15:48:07
377
原创 opencv-图像处理
文章目录一、图像特征-harris角点检测1.基本原理2.代码实现二、图像特征-sift1.引言2.高斯模糊多分辨率金字塔高斯差分金字塔(DOG)DOG空间极值检测关键点的精确定位消除边界响应特征点的主方向3.生成特征描述总结一、图像特征-harris角点检测首先引入什么是角点?图中的红框部分便是角点。1.基本原理首先从定义我们可以简单地理解为角点就是俩个不同事物的交点处,那么我们怎么去求一个图像中的角点呢?还是要对每个像素点进行计算。计算公式的原理主要是利用了微积分和线性代数的知识
2021-12-05 13:22:44
458
原创 Opencv——信息信用卡识别
文章目录前言一、pycharm设置参数添加参数二、模板识别工作1.数字匹配2.轮廓信息保存三、导入图片1.卷积化预处理2.图片预处理3.图像轮廓4.匹配输出前言本文是用opencv所做的第一个项目,比较简单,把之前所学知识统筹复习一下,这之间也出现了一些问题,在这里进行汇总。提示:以下是本篇文章正文内容,下面案例可供参考一、pycharm设置参数参数可以通过自己调整,来识别不同的信用卡。ap = argparse.ArgumentParser()ap.add_argument("-i",
2021-11-28 12:59:02
2557
原创 图像处理(续)
文章目录前言一、图像处理1.形态学-膨胀操作——cv2.erode2.开运算与闭运算3.梯度运算——cv2.morphologyEx4.礼帽与黑帽二、图像梯度1.Sobel算子2.Scharr算子3.laplacian算子三、Canny边缘检测1.原理2.代码显示四、图像金字塔1.高斯金字塔2.拉普拉斯金字塔五、图像轮廓1.轮廓特征2.绘制轮廓3.轮廓近似1.边界矩形2.外接圆六、直方图和傅里叶变换前言本次内容是继上次笔记的补充,内容完成后将进行简单的实战阶段,实战之后再进行进阶的学习。提示:以
2021-11-23 00:12:26
268
原创 OpenCV入门
文章目录引言——什么是OpenCV一、图像基本操作1.图像读取_图片1.基本语法——imread2.图像的显示——imshow3.图像的保存——imwrite2.图像读取_视频3.截取部分图像4.颜色通道提取5.边界填充——cv2.copyMakeBorder6.数值计算7.图像融合——cv2.addWeighted二、图像处理1.图像阈值2.图像平滑3.形态学-腐蚀操作引言——什么是OpenCV OpenCV是一个用于图像处理、分析、机器视觉方面的开源函数库。无论你是做科学研究,还是商业应用,op
2021-11-21 11:58:36
309
原创 李宏毅_Machine Learning_1
文章目录引入一、部分符号说明1.确定Senario、Task和Model2.设定具体参数二、Regression的具体过程1.function set2.Goodness of Function1.参数说明2.Loss function 损失函数3.Loss function可视化三、Pick the Best Function梯度下降法1.单个参数的问题2.两个参数的问题四、如何做的更好进一步讨论其他参数总结引入问题的导入:预测宝可梦的CP值Estimating the Combat Power
2021-11-13 18:56:53
865
原创 数据结构_回顾+补充
文章目录前言一、异或运算1.计算规则2.实例+代码二、对数器1.什么是对数器三、选择排序O(n的平方)四、冒泡排序O(n的平方)五、插入排序O(n的平方)前言数据结构与算法不是一个学的快就学的好的东西,需要常练习去消化,因此我又看了一些别的资料,来复习并补充一些东西。一、异或运算异或运算属于位运算,在执行效率上比普通的运算要快好多,写起来也比较容易。1.计算规则异或的计算规则0^N=NN^N=0满足交换律和结合律交换数组位置的异或写法:a=a^bb=a^ba=a^b注意交换
2021-11-07 12:05:37
67
原创 Java数据结构_哈希表
文章目录前言情景引入一、哈希表是什么?1.实例+代码二、二叉树1.树的引入2.二叉树的遍历前言情景引入有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id,性别,年龄,住址…),当输入该员工的id时,要求查找到该员工的所有信息.要求:不使用数据库,尽量节省内存,速度越快越好=>哈希表(散列)一、哈希表是什么?散列表(Hashtable,也叫哈希表),是根据关键码值(Keyvalue)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速
2021-10-31 17:45:50
204
原创 机器学习——神经网络
文章目录前言一、神经网络1.神经网络需要考虑的基本要素有哪些?2.激活函数有哪些?3.神经网络算法的隐藏层意义何在?二、决策树1.决策树的基本概念和方法2.从决策树到随机森林前言神经网络(仿生)预测非线性的算法,非线性的算法可以来解决更加复杂的问题神经网络算法也是后面深度学习的时候的基础ANN artificial neural networkMLP multiple layer perceptonCNN RNN一、神经网络1.神经网络需要考虑的基本要素有哪些?1,激活函数的选择
2021-10-24 15:45:27
289
原创 数据结构——查找算法
文章目录一、顺序查找二、二分查找三、插值查找算法四、斐波那契(黄金分割法)查找算法一、顺序查找有一个数列:{1,8,10,89,1000,1234},判断数列中是否包含此名称【顺序查找】要求:如果找到了,就提示找到,并给出下标值。public class SeqSearch { public static void main(String[] args) { int arr[] = { 1, 9, 11, -1, 34, 89 };// 没有顺序的数组 int index = seq
2021-10-10 18:35:29
60
原创 机器学习——Week3
文章目录一、逻辑回归1.前言引入2.简单介绍3.线性回归算法的选择4.多项式回归5.代码演示二、分类器项目案例1.简单介绍2.代码演示提示:以下是本篇文章正文内容,下面案例可供参考一、逻辑回归多元线性回归(Ridge、Lasso、ElasticNet)是做回归预测的逻辑回归(Logistic Regression)是做分类任务的1.前言引入Q:做回归预测损失函数是什么?A:平方均值损失函数MSEQ:做分类损失函数是什么?A:做分类损失函数是交叉熵!Q:什么是熵?A:熵是一种测量分
2021-10-10 18:21:42
174
原创 机器学习_week2
文章目录一、梯度下降法实践1.特征缩放2.学习率二、特征和多项式回归三、正规方程四、作业展示一、梯度下降法实践1.特征缩放以房价问题为例,假设我们使用两个特征,房屋的尺寸和房间的数量,尺寸的值为 0-2000平方英尺,而房间数量的值则是0-5,以两个参数分别为横纵坐标,绘制代价函数的等高线图能,看出图像会显得很扁,梯度下降算法需要非常多次的迭代才能收敛。解决的方法是尝试将所有特征的尺度都尽量缩放到-1到1之间。如图:最简单的方法是令:????????=(????????−????????)/?
2021-10-03 11:46:22
176
原创 数据结构——排序
文章目录八大排序一、冒泡排序1.基本介绍2.实例+代码二、选择排序1.基本介绍2.实例+代码三、插入排序总结八大排序下面对八大排序分别进行笔记一、冒泡排序1.基本介绍冒泡排序(BubbleSorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移向后部,就象水底下的气泡一样逐渐向上冒。2.实例+代码将五个无序的数:3,9,-1,10,-2使用冒泡排序法将其排成一个从小到大的有序数列。import j
2021-10-03 10:44:01
181
原创 数据结构——递归
文章目录一、递归1.递归的概念2.递归的调用机制3.适用问题及注意二、迷宫问题三、八皇后问题一、递归1.递归的概念简单的说:递归就是方法自己调用自己,每次调用时传入不同的变量.递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。2.递归的调用机制我列举两个小案例,来帮助理解递归:打印问题阶乘问题使用图解方式说明了递归的调用机制public class RecursionTest { public static void main(String[] args) { /
2021-09-28 09:37:08
112
原创 Week-机器学习
文章目录一、梯度下降1.直观理解2.例子说明二、梯度下降的线性回归1.批量梯度下降三、多变量线性回归1、介绍说明2、多变量的梯度下降总结一、梯度下降1.直观理解**????????:=????????−????????????????????????(????)**对????赋值,使得????(????)按梯度下降最快方向进行,一直迭代下去,最终得到局部最小值。其中????是学习率(learning rate),它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大。 对于这
2021-09-26 16:28:42
115
原创 中缀表达式转换为后缀表达式
文章目录一、完整的逆波兰表达式1.实现中缀转后缀的功能2.思路3.代码实现一、完整的逆波兰表达式1.实现中缀转后缀的功能 1. 1+((2+3)×4)-5 => 转成 1 2 3 + 4 × + 5 – 2. 因为直接对str 进行操作,不方便,因此 先将 "1+((2+3)×4)-5" =》 中缀的表达式对应的List 即 "1+((2+3)×4)-5" => ArrayList [1,+,(,(,2,+,3,),*,4,),-,5] 3. 将得到的中缀表达式对应的L
2021-09-25 10:19:12
162
原创 逆波兰表达式
档文章目录一、前缀、中缀、后缀表达式1.前缀表达式2.中缀表达式3.后缀表达式(逆波兰表达式)二、逆波兰计算器1.要求及思路分析2.代码实现一、前缀、中缀、后缀表达式1.前缀表达式从右至左扫描表达式,遇到数字时,将数字压入堆栈,遇到运算符时,弹出栈顶的俩个数,用运算符对它们做相应的计算(栈顶元素 和 次顶元素),并将结果入栈;重复上述过程直到表达式最左端,最后运算得出的值即为表达式的结果。2.中缀表达式中缀表达式就是常见的运算表达式3.后缀表达式(逆波兰表达式)从左至右扫描表达式,遇到
2021-09-24 10:13:28
162
原创 数据结构——栈
文章目录一、栈1.介绍2.应用场景3.数组模拟4.栈实现综合计算器一、栈1.介绍1)栈的英文为(stack)2)栈是一个先入后出(FILO-FirstInLastOut)的有序列表。3)栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom)。4)根据栈的定义可知,最先放入栈中元素在栈底,最后放入的元素在栈顶,而删除元素刚好相反,最后放入的元素最先删除,最先放入的元
2021-09-23 10:04:46
139
原创 双向链表和单向环形链表
文章目录一、双向链表与单向链表1.操作分析2.代码实现二、单向环形链表1.应用场景2.思路3.代码实现一、双向链表与单向链表1.操作分析1)单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找。2)单向链表不能自我删除,需要靠辅助节点,而双向链表,则可以自我删除,所以前面我们单链表删除时节点,总是找到temp,temp是待删除节点的前一个节点(认真体会).3)分析了双向链表如何完成遍历,添加,修改和删除的思路2.代码实现public class DoubleLinkedL
2021-09-22 10:30:22
175
原创 单链表长度的获取,节点的查找和反转
文章目录一、单链表长度的获取1.代码实现二、查找单链表中倒数第K个元素1.思路2.代码实现三、单链表的反转1.思路2.代码实现一、单链表长度的获取1.代码实现 //方法:获取到单链表的节点的个数(如果是带头节点的链表,需求不统计头节点) public static int getLength(HeroNode heroNode){ if(heroNode.next == null){ return 0; } int.
2021-09-21 11:33:41
1353
原创 单链表的修改和删除
文章目录一、单链表的修改1.思路2.代码实现二、单链表的删除1.思路2.代码实现一、单链表的修改1.思路1)先找到该节点,通过遍历,寻找节点通过编号来进行查找2)找到该节点后,通过辅助变量对其进行修改(temp.name = heronode.name,temp.nickname = heronode.nickname)2.代码实现写一个update方法,该方法先遍历查找,后进行修改 //修改节点的信息,根据no编号来修改,即no编号不能改 //1、根据heronode的No来修
2021-09-20 15:03:40
1452
原创 Java数据结构(单链表)
单链表一、链表1.简单介绍2.单链表逻辑结构3.应用实例(添加)一、链表1.简单介绍链表是有序的列表,但是它在内存中是存储如下:2.单链表逻辑结构单链表(带头结点)逻辑结构示意图如下:3.应用实例(添加)使用带head头的单向链表实现–水浒英雄排行榜管理完成对英雄人物的增删改查操作package Day03;public class SingLinkedListDemo { public static void main(String[] args) {
2021-09-19 11:35:35
132
原创 机器学习(单变量线性回归)
文章目录一、模型表示引入假设函数二、代价函数1.代价函数的介绍2.等高线的引入3.代价函数的理解4.梯度下降一、模型表示让我们通过一个例子来开始:这个例子是预测住房价格的,我们要使用一个数据集,数据集包含俄勒冈州波特兰市的住房价格。在这里,我要根据不同房屋尺寸所售出的价格,画出我的数据集。比方说,如果你朋友的房子是1250平方尺大小,你要告诉他们这房子能卖多少钱。那么,你可以做的一件事就是构建一个模型,也许是条直线,从这个数据模型上来看,也许你可以告诉你的朋友,他能以大约220000(美元)左右的价
2021-09-18 22:42:33
148
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人