- 博客(235)
- 资源 (6)
- 收藏
- 关注
原创 图像的裁剪—首先获取图像的源点,根据源点裁出所需的图像大小
int CutOut(IplImage* src, IplImage* dst, int x, int y, int w,int h){ //x,y为矩形框左上角点坐标,w为宽度,h为高度 int width_src = src->widthStep; int height_src = src->height; byte* gray_src = (byte*)src->imageData
2017-05-31 08:57:59 1080 1
转载 矩阵和特征值的本质
理解矩阵和特征向量的本质原文地址最近复习矩阵论中,又是一堆定理和证明突然发现学了这么常时间的矩阵论、线性代数,记住的只是一堆莫名其妙的定理而已,一些本质的东西都没有搞清楚。比如,为什么要有矩阵,它仅仅是一堆数的组合吗,集合也是数的组合,为什么不能代替矩阵?特征值和特征向量的含义是什么?描述的是什么“特征”?矩阵乘法的含义是什么?
2017-03-06 09:09:38 16397 7
原创 利用Dlib进行人脸特征局部定位
void CDlib_MFCDlg::OnBnClickedFace(){ // TODO: 在此添加控件通知处理程序代码 char img_file[]="G:\\Source\\111.jpg"; char mark_file[]="G:\\Source\\shape_predictor_68_face_landmarks.dat";//必须导入该模型 Mat img=imread(
2016-11-10 13:17:46 2919 1
原创 KMeans算法的实现
//咱走的不是流量,走的是心#include#include#include#include#include#includeusing namespace std;#define Length 5 //数据维数(每个数据集,5维向量)#define K 5 //类别数(分为5类)#define Psize 50
2016-11-01 15:53:41 415
原创 KMeans——之我见
在讲解KMeans算法聚类之前,先推出一个场景:在上政治课的过程中,有N个班级,每个班级为M人,按照正常逻辑,相熟悉的人,会坐在一起。但是,不代表每个班的同学恰巧都坐在一起,为了把每个班的同学聚集在一起,我们需要给每个同学贴一个Label。同时,让每个班的班长站起来,其余同学根据自己身上的Label(即:属于哪个班集体),自动的和身边的人换座,向班长靠拢。这个过程和KMeans所表达的思想基本上是
2016-10-30 19:38:59 479
原创 情感计算与语言认知成像讲座——内容及体会
写这篇博客的目的:主要是记录我的一些感受,怕遗忘;另一个目的就是分享一种处理问题的方式,希望对有需求的人有所帮助。 情感信息提取可以通过“生物信信号”进行分析、判断。但是,在非医学的应用中,这种方法大大增加了实验了难度。相反,通过对人脸检测和分析大大提高了实验的可行性,主要是利用人物的面部动作。实验样本:视频。 提及一下,所谓的情感计算主要是分为三个部分:机
2016-10-27 09:23:44 805
原创 从新拾起,继续起航<一>
一直想写一些东西,但是,仅仅局限于想,距离动手还差的比较远。今天,一个偶然的机会,再一次看到自己的博客,唉,又想起了在实验室奋斗的日子。总结一句话:苦并快乐着! 本科毕业在公司呆了一段时间,有幸认识了一些朋友(我这个所谓的朋友,差不多就是大家眼中的贵人)。第一个朋友就是壮志姐,很感谢她,肉麻的话,就不用说了。当然,其他的朋友也给我很多帮助。忘了,在这里还得再提一个老师:宋老师。本科毕业
2016-10-19 20:30:22 538
转载 图像处理常用算法(基础)
同图像灰度不同,边界处一般会有明显的边缘,利用此特征可以分割图像。需要说明的是:边缘和物体间的边界并不等同,边缘指的是图像中像素的值有突变的地方,而物体间的边界指的是现实场景中的存在于物体之间的边界。有可能有边缘的地方并非边界,也有可能边界的地方并无边缘,因为现实世界中的物体是三维的,而图像只具有二维信息,从三维到二维的投影成像不可避免的会丢失一部分信息;另外,成像过程中的光照和噪声也是不可避免的
2016-01-16 20:13:57 14416
原创 http://acm.hdu.edu.cn/showproblem.php?pid=1789 很好的贪心题目
题意:给你N道作业的最后完成的天数和如果没完成的话,需要扣的分数,然你求解为了,扣最少的分数,你应该如何安排你的作业流程思路:贪心,我们可以按照分数的权重进行排序,如果一样,那么按照时间从小到大排序然后先完成权重最的作业,如果产生了冲突,只能扣分了。#include#include#include#includeusing namespace std;struct
2013-06-03 09:06:05 971
原创 uva10391 单词复合 利用二分查找求解
#include#include#include#includeusing namespace std;const int Max=120010;char word[Max][100];int search(char *str,int n){ int left=0,right=n-1; while(left<=right) {
2013-05-23 12:06:07 1685 1
原创 poj1144 求割点 模版题
#include#include#include#include#includeusing namespace std;const int Max=111;int low[Max],dfn[Max];int cnt[Max];vectorGra[Max];int n,m,sons;int MIN(int a,int b){ return a
2013-05-22 20:35:10 808
原创 poj2117 tarjan()+割点
//题意:给你一个无向图不保证是连通的,去掉某一个顶点之后,询问最多可以形成的分支数目。//思路://1.处理孤立点的情况//2.利用tarjan求解去掉的顶点,然后满足条件(最多).#include#include#include#includeusing namespace std;#define maxn 10001typedef vector::it
2013-05-22 13:42:21 926
原创 poj3352 利用边的双连通性质求解
给你一个无向图,求解至少需要添加几条边,就能保证删除任一条边时,图仍然是连通的思路:求解至少添加多少条边,可以使该图成为边的双连通图利用tarjan算法:求解low[]值记录父亲结点,然后low[]相同的点,在一个连通分量中,然后缩点求解出度为1的点的个数ans,答案就是(ans+1)/2;#include#include#include#include#inc
2013-05-21 17:24:24 661
转载 图论基本概念:
图的割点、桥与双连通分支[点连通度与边连通度]在一个无向连通图中,如果有一个顶点集合,删除这个顶点集合,以及这个集合中所有顶点相关联的边以后,原图变成多个连通块,就称这个点集为割点集合。一个图的点连通度的定义为,最小割点集合中的顶点数。类似的,如果有一个边集合,删除这个边集合以后,原图变成多个连通块,就称这个点集为割边集合。一个图的边连通度的定义为,最小割边集合中的边数。[
2013-05-21 16:28:16 853
原创 poj1523 求割点 及 该割点 可以 把该图分成几个连通分量
思路:当一个几点为割点时必须满足两个基本条件:情况1: u为根且至少为两颗子树.情况2:u不为根且存在一个u在深搜树中的子女满足low[v]>=dfn[u],u为父亲v为子女#include#include#include#include#includeusing namespace std;const int Max=1001;int t,v1,v2;listGr
2013-05-21 12:33:06 854
原创 http://acm.upc.edu.cn/problem.php?id=2174 无限悲哀中.....
思路:刚开始初始化那张表,A表示1,B表示0,然后利用二维树状数组就开始搞了,悲剧开始了,边界条件判断错误。当处理好之后,来了个TLE,打表建图不行,找规律建图。现在AC已经麻木了。。。。。。。。#include#include#include#include#define maxn 1100using namespace std;int map[maxn][ma
2013-05-17 08:40:10 2267
原创 poj2528线段树成段更新+离散化处理 鄙人 陷入沉思。。。。。
前天的多校联赛被虐成渣渣了,最后发现有一网络流,泪奔了,看了rank Most 1A, =。。=一怒之下,昨天看了一天网络流,感觉好不错,感觉没以前那么难了,可以搞。。。。。。今天就把剩余的线段树搞搞吧!这个题,看了别人的解题报告:思路:我们对区间进行更新的时候,需要离散化处理一下。简单的思路就是,把比较大的区间,离散化之后对应一个小区间,然后对小区间进行成段更新,但是有一个地方需要注意
2013-05-16 14:04:07 550
原创 poj3468 线段树成段更新
#include#include#include#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1using namespace std;const int Max=110010;long long op[Max<<2];long long sum[Max<<2];int N,Q,a,b,c;void Push
2013-05-14 10:26:53 541
原创 hdu 1689 我要做的足够 强大
线段树成段更新: 昨天看了一晚上,不太理解,自己感觉弱爆了,今早想了想,发现成段更新和单点更新差不多,区别在于单点更新时,往下更新一直更新到叶子节点,成段跟新时,不必更新到叶子节点,当对一个区间操作完成之后,不在往下更新,当每次查询或者修改该区间时,在往下更新。提高了效率。#include#include#include#define lson l,m,rt<<1#def
2013-05-14 10:02:00 735
原创 poj2886 线段树+反素数
#include#include#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define max 500010int sum[max<<2];char Name[max][20];int num[max];int Max_fprime[max];int Max_num[max];int N,K;void get_fpri
2013-05-12 20:56:08 576
原创 比赛又一次 被虐 加油!
大数求解:等差数列第n项值 等比数列第n项值,结果mod100007 #include#include#includeusing namespace std;long long d,q,a1,a2,a3,a4,ans;long long exp_mod(long long a,long long n,long long b)//快速幂取模:{ lon
2013-05-07 08:00:02 800
原创 poj3494 连续区域最大矩形面积 我要做的足够 强大
#include#include#include#include#includeusing namespace std;const int maxn=2010;int N,M;int height[maxn];int dis[maxn];int ans;int max(int a,int b){ return a>b?a:b;}vo
2013-05-05 15:57:50 1023
原创 poj3250 我要做的足够 强大
注意一点:当高度相同时,看不到前面的。#include#include#include#include#includeusing namespace std;const int maxn=80010;long long height[maxn];long long dis[maxn];int N;long long get_sum(int N){
2013-05-05 15:34:29 654
原创 poj2559 我要做的足够 强大
思路:利用并查集的性质,然后找出最左边和最右边满足高度差的值,乘以高度 求解最大值 即可#include#include#include#include#includeusing namespace std;const int maxn=100010;long long height[maxn];long long dis[maxn];long long
2013-05-05 12:17:38 776
原创 poj1964 我要变的足够 强大
思路:对每一列中连续的F进行统计,模拟出一个统计表,用x轴做底,单位长度为1,高度记录的是连续F的个数,然后利用并查集的性质,在正常的高度范围内,找出最大的长度。 #include#include#include#include#includeusing namespace std;const int maxn=1010;int dis[maxn];
2013-05-05 11:49:18 825
原创 hdu2830 我要做的足够 强大
思路:①首先,我们可以计算每一列中连续的和,例如:1011 1 0 1 11001 ﹥﹥ 2 0 0 2 0001 0 0 0 3 ②对每一行的数据从小到大进行排序,然后利用dp[i][j]*(行号+1)查找一个最大值,即可,类似求面积。 #include#include#include
2013-05-04 08:09:24 711
原创 hdu1559 我要做的足够 强大
思路:给出了子矩阵的大小,然后查找所有子矩阵的值,找出一个最大的即可:#include#include#include#includeusing namespace std;const int maxn=1010;int m,n,x,y,T;int dp[maxn];int map[maxn][maxn];int main(){ int ans
2013-05-03 11:23:16 846
原创 poj2001 从现在开始,我要做的足够 强大
思路:字典树,我们对每个单词中的字母 进行记录出现的个数,在查找的过程中,我们可以 我们只需要查找到知道前缀中的字母出现了一次,或则找到单词末尾 #include#include#include#includeusing namespace std;struct node{ int sum; struct node *next[26];
2013-05-01 19:33:12 563
原创 hdu1247 字典树 单词拆分 如果让我说:我只能说,实力决定一切
思路:与普通的字典树不同的是,该题 我们需要把一个单词拆分成两个单词,例如:bbccc 可以拆分成:b bccc等等。然后判断拆分后的两个单词是不是在字典树中。#include#include#include#includeusing namespace std;struct dirtree{ struct dirtree *child[26];
2013-05-01 10:38:53 619
原创 poj3321 树状数组+DFS() 如果让我说:我只能说,实力决定一切
树状数组:对区间进行:①增②改③查思路:该题就是求解区间的值(该区间苹果的个数),因此 我们需要处理树杈的问题,当前的树杈是由哪个树杈引出来的,我们需要找到起始树杈(当前树杈)和结束的树杈,然后,在用树状数组去维护,进行查找,修改。用DFS()对当前树杈的起始点和终止点进行标号,类似二叉树的遍历(该题是多叉树)#include#include#include#include
2013-04-30 13:09:05 615
原创 比赛
#include#include#include#include#include#includeusing namespace std;mapM;mapma;string tem;char root[2000];int Judge(char a){ if(a>='A') return 1; return 0;
2013-04-27 21:29:26 502
原创 poj3974 hdu3068最长回文子串 如果让我说:我只能说,实力决定一切
思路:简单题目,利用Manacher()方法,解决问题的方法和KMP类是,避免了冗余操作,可以提高效率poj3974: #include#include#include#includeusing namespace std;char pat[1000100*2];char tem[1000100];int sum[1000100*2];int pox;
2013-04-27 10:36:32 529
原创 poj 2752 KMP+DFS() 如果让我说:我只能说,实力决定一切
思路:利用KMP的性质,求解:即是前缀又是后缀的字符串的长度。如果存在一个最长的前缀和后缀相等,那么次小的一定存在这个最长的里面,然后利用DFS()输出即可。#include#include#include#includeusing namespace std;int next[400100];char cha[400100];void get_next(char *tem){
2013-04-26 19:40:02 494
原创 poj2185 KMP+欧几里得 求最小的覆盖
题意:给一个n*m的大小的矩形,里面存一些字母,让你找出最小的串能够覆盖这个矩形。例如:aaaa 能让一个a完全覆盖。ababaababa能让ab覆盖。思路: 我们先求解每行的最小覆盖C,然后再求每列的覆盖R,然后最小的覆盖就是C*R。 #include#includechar str[10005][80];int next[10005];int
2013-04-26 11:13:21 542
原创 hdu2594 今早1A 题目不错=~~= 如果让我说,我只能说,实力决定一切
思路:建议一下,如果你在学KMP或者AC自动机,如果你弄懂其原理,变形 so easy! 注意对pat求完next[]值后,在匹配时,注意是到mat的结尾,即:while(j #include#include#include#includeusing namespace std;char mat[50010];char pat[50010];int n
2013-04-26 07:38:24 527
原创 hdu2087 这道题 好给力! memset()伤不起 如果让我说:我只能说,实力决定一切。
如果你对KMP中,next【】的性质足够了解的话, 瞬秒#include#include#include#includeusing namespace std;char mat[200];char pat[200];int next[200];void get_next(char *tem){ int k=-1; int j=0;
2013-04-25 16:58:42 605
原创 hdu3746 KMP之next[]威武 如果让我说:我只能说,实力决定一切。
本人感觉本题和hdu3336这个题很好,完全考察KMP中next[]的性质:hdu3336这个题可以做做 思路:求解最小循环节,如果题目存在最小循环节,那么输出0,否则输出你最小还应该添加多少个才满足最小循环节特征。利用KMP的性质:①aaa,next[3]=2 最小循环节为1即:Len-2=1,满足最小循环节的要求,不需要添加数了。②abca next[4]=1 最小循环节为Len
2013-04-25 15:55:00 590
原创 hdu 3336 KMP走起 如果让我说:我只能说,实力决定一切
思路:利用KMP求解串的前缀的个数:例如: a b a b next: -1 0 0 1 含义:当前字
2013-04-25 12:37:40 644
原创 poj1679 判断最小生成树是不是唯一? 如果让我说:我只能说,实力决定一切。
思路:求次小生成树和最小生成树。#include#include#includeusing namespace std;const int inf=1<<30;const int maxn=111;int ans1,ans2;int dis[maxn];int map[maxn][maxn];int iToj[maxn][maxn];int vis[maxn];int u
2013-04-24 22:31:46 6946
原创 hdu3371 题目是不是变态,我就不评论了,不过我的确学了不少东西 如果让我说:我只能说,实力决定一切
思路:刚开始想把已经修好的路,放到同一集合中去,不过发现这样做在查找根节点时,会出错,我就把已修好的路的花费设为0,放到优先队列中,不过这样挺浪费时间滴。C++提交卡过,G++, TL #include#include#include#includeusing namespace std;struct node{ int st,ed,w; b
2013-04-24 15:02:47 573
学习Jquery的资料 简单易懂
2015-02-01
基于.net 课程设计
2015-01-19
离散数学试卷
2013-03-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人