自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

林小默

Play hard,study hard;

  • 博客(10)
  • 资源 (3)
  • 收藏
  • 关注

原创 openCV之中值滤波&均值滤波(及代码实现)

在开始我们今天的博客之前,我们需要先了解一下什么是滤波:首先我们看一下图像滤波的概念。图像滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。下图左边是原图右边是噪声图:消除图像中的噪声成分叫作图像的平滑化或滤波操作。信号或图像的能量大部分集中在幅度谱的低频和中频段是很常见

2017-05-22 17:56:03 70713 15

原创 排序算法(堆排序,直接插入排序,折半插入排序,希尔排序)

今天下午一口气看了四种排序算法,加上之前已经有的三种排序算法,以及拓扑排序,目前我的博客里面已经有八种排序算法。还差两到三种算法也会在后面更出来。由于排序算法已经有很多人总结过了就不一一详细说明。不过我会附上一些优秀博主总结的链接。一.堆排序          堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定

2017-05-19 22:09:14 895

原创 openCV之基础数据结构

被一个同学拉去面试一个团队,抱着试试看的心态去,竟然以后打算往人工智能或者游戏开发上面靠,计算机图形学是必须要学的了。于是面试他们的图像处理组,最后阴差阳错的进了。竟然进了就好好对待吧。openCV撸起来。        这两天看了一些博客,还有借了《openCV计算机视觉编程攻略》来看。打算继续用博客的方式记录下我学习的进程吧。        先说下我对图像处理的简单了解:一张图片是由许

2017-05-18 22:03:41 877

原创 最短路径

用于计算一个节点到其他所有节点的最短路径。主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止。有两种算法:迪杰斯特拉和弗洛伊德前者用于求解一个顶到其他顶点的最短路径后者用于求解各顶点到其余顶点的最短路径Dijkstra算法1.定义概览Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节点到其他所有节点的最短路径。主要特点是

2017-05-16 17:18:22 581

原创 良好的编程习惯

最近,看到一些编程技巧有意无意的去使用,然而这些技巧看起来很华丽,但有碍于良好的编程习惯。比如在输出一个数组时,可以有以下两种写法:for (int i = 0; i < len; ++i) //良好的习惯 cout << arr[i] << endl;for (int i = 0; i 虽然第二个看起来更加简洁,如果一直使用这些技巧的话,对于一些新手来说看懂这些是代码有点

2017-05-13 12:13:32 2031

原创 拓扑排序

对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。简单的说,由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序。

2017-05-10 13:28:55 673

原创 最小(代价)生成树

一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。最小生成树可以用kruskal(克鲁斯卡尔)算法或prim(普里姆)算法求出。一.普利姆算法从图中任意取出一个顶点,把他当作一棵树,然后从这棵树相接的边中选取一条最短(权值最小)的边,并将这条边及其所连接的顶点也并入这棵树中,此时得到一颗有两个顶点的树。然后在这棵

2017-05-07 21:13:09 18110 4

原创 图的遍历(深度,广度)

一.图的深度优先搜索遍历(Deep First Search)       类似于二叉树的先序遍历。基本思想就是:首先访问出发点v(可以是任意的),并将其表记为已访问;然后选取与v邻接未被访问的任意一个顶点w,并访问他;再选取与w邻接的未被访问的任意一点并访问, 依次重复进行。 当一个顶点所有的邻接顶点都被访问过时,则依次退回到最近被访问过的顶点,若该顶点还有其他邻接顶点未被访问,则从这些

2017-05-07 00:50:15 2272

原创 图的储存结构之邻接表

邻接表是图的一种链式储存结构。在边数小于节点数的图中,如果继续使用邻接矩阵,那么就会造成资源浪费。比如我们有一个有图,一共五个节点,却只有4 条边,生成5*5的邻接矩阵时,此时在这25个内存空间中只有4个被有效的利用,这就造成了浪费。这时,我们可以联想到链式结构。在前面的知识中,可以知道,链表相对与数组可以更有效的利用起内存空间,避免资源浪费。因为链表是动态的,大小不用事先确定。那

2017-05-06 17:45:55 735

原创 图的储存结构之邻接矩阵

邻接矩阵是表示顶点之间相邻关系的矩阵。说白了就是我们有一个图,我们利用矩阵来表示这个图顶点之间的关系。图的特性:1.有向与无向:有向就是顶点从一个顶点指向另外一个顶点。下面两个图分别就是有向与无向2.有权或者无权:就是顶点之间边的权值。下面两个图就是有权与无权。(边上带权的图为带权图,也称网)把上面的两个图分别用矩阵表示:第一个为无权无向图。0表示顶

2017-05-04 19:20:10 667

AI五子棋训练棋谱

用于我自己写的一个AI五子棋训练集,格式为sgf,总共有五千盘

2019-04-14

python实现AI五子棋

这是我写的一个基于神经网络的五子棋程序,用python3写的,需要配置tensorflow才能使用

2019-04-14

stm32上位机python代码

使用tkinter来编写这个上位机的界面。本程序可以与stm32通信,当然只需要做简单修改就可以与51单片机通信

2019-04-14

空空如也

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

TA关注的人

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