自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (10)
  • 收藏
  • 关注

原创 SVD解线性方程组——秘密大起底

奇异值分解(SVD)

2014-07-19 10:21:46 17692

原创 color transfer between images

本文的实现主要是基于论文:Color Transfer between images(http://www.cs.utah.edu/~shirley/papers/ColorTransfer.pdf)。基本原理是将图像数据从RGB空间转换到LAB空间,然后求出源图像和参考图像的均值和方差,在LAB空间分别对三个通道进行变换得到。这里之所以转换到LAB空间是因为LAB颜色空间能更好的模拟人的视觉系统

2013-12-07 15:33:19 2020

原创 Interleaving String解题报告

递归解法,需要主要两点:1、当前要比较的两个元素相等时,需要分两种情况讨论;2、超时处理机制,设置一个二维数组,记录已经处理过的节点的状态,有三个状态(-1, 0, 1)1)path[i1][i2] == -1 表示当前节点还未被遍历2)path[i1][i2] == 0 表示当前节点已遍历并且s3不可能由这条路径组成3)path[i1][i2] == 1 表示当前节点已遍历且

2015-05-07 21:57:39 500

原创 Sqrt(x)解题报告

int mySqrt(int x) { int e = 0; long long ret = 0; while((long long)(ret * ret) <= (long long)x){ ret = (int)pow(2.0, e++); } int l = 0; int r = ret; while(l <= r){ int mid = (l + r

2015-04-19 13:25:59 599

原创 Sudoku Solver解题报告

该题可以用回溯法求解,对当前位置(x, y),首先求出满足条件的数字作为候选C,对C中的每一个元素Ci, 令board[x][y] = Ci,进行到下一个位置(x’, y‘),判断是否满足,如果不满足,则令board[x][y]等于下一个候选,直到遍历完所有的候选值。步骤:1、如果当前位置不为空,进行到下一个位置;否则,执行步骤22、分别求出当前位置(x, y)所在行、列和块中已经出现的数

2015-04-07 20:40:39 622

原创 Search in Rotated Sorted Array解题报告

两种方法1、首先找到两个数组的分界,然后在两个数组上分别应用二分查找int bsearch(int A[], int start, int end, int target){ while(start <= end){ int mid = (start + end) >> 1; if(target == A[mid]) return mid; else if(targe

2015-04-06 22:07:06 481

原创 Substring with Concatenation of All Words解题报告

vector findSubstring(string S, vector &L) { int sLen = S.length(); if (sLen == 0) return vector(); int size = L.size(); if (size == 0) return vector(); in

2015-04-04 12:27:44 433

原创 Reverse Nodes in k-Group

Code: //Runtime: 30 ms ListNode *reverseKGroup(ListNode *head, int k) { if (head == NULL) return NULL; if (k == 1) return head; ListNode *p1 = NULL, *p2 = NULL, *last = NULL, *next = h

2015-04-01 20:41:44 340

原创 Merge k Sorted Lists

归并排序在链表中的应用Code:ListNode *mergeTwoLists(ListNode *l1, ListNode *l2){ if (l1 == NULL) return l2; if (l2 == NULL) return l1; ListNode *p = l1->val > l2->val ? l2 : l1; ListNode *prev = NULL;

2015-04-01 13:41:53 360

原创 Letter Combinations of a Phone Number解题报告

简单的递归。。。 vector letterCombinations(string digits) { if(digits.size() (); map mp; mp[0] = " "; mp[1] = "@"; mp[2] = "abc"; mp[3] = "def"; mp[4] = "ghi"; mp[5] = "jkl"; mp[6] = "mno"; mp[7] =

2015-03-29 14:02:11 456

原创 Reverse Integer解题报告

题目比较简单,需要注意的是整数的范围AC Code//Reverse Integer int reverse(int x_) { long long x = x_; if (abs(x) > INT_MAX) return 0; bool isNeg = false; if (x < 0) isNeg = true; x = abs(x); vector dig

2015-03-25 18:50:14 396

原创 ZigZag Conversion解题报告

找规律的题目,题目的大意是给定一个字符串和行数,排列成锯齿形后逐行输出。比如“PAYPALISHIRING”输出之后应该是这样的:P A H NA P L S I I GY I R可以发现这样的规律:第一行和最后一行相邻两个字符之间的间隔是interval = (nRows - 1) * 2,中间行i(0 < i < nRows - 1)相邻两个字符之间的间隔有

2015-03-25 17:14:43 371

原创 PAT1093解题报告

#include #include using namespace std;long long P = 0, PA = 0, PAT = 0;int main(){ string A; cin>>A; for(int i = 0; i < A.length(); ++i){ if(A[i] == 'P'){ P++; }else if(A[i] == 'A'){

2015-03-14 19:02:02 481

原创 PAT1060解题报告

题目不难,但是想要通过全部的case需要小心,一些特殊的例子要考虑到,比如0.000123, 00.00124, 01.0235, 0.0等#include #include using namespace std;int N;string DeleteLeaderZero(string A){ string ret; int dot_pos = A.find('.'); i

2015-03-12 22:39:14 487

原创 PAT1062解题报告

只需一点需要注意,判断四种人中的一种不要放在输入循环里面(很耗时间)。。#include #include #include using namespace std;struct Record{ int id; int talent; int virtue; Record(){} Record(int id_, int talent_, int virtue_): id(id

2015-03-12 19:10:12 609

原创 PAT1091解题报告

这是一个简单的广度优先搜索题:#include #include using namespace std;int pixel[1286][128][65];bool visit[1286][128][65];int dir[6][3] = { {0, 0, -1}, {0, 0, 1}, {-1, 0, 0}, {1, 0, 0}, {0, -1, 0}, {0, 1, 0}

2015-03-10 20:36:12 514

原创 VS2010+Windows7编译Bundler

首先下载Bundler源码目前最新下载 https://github.com/snavely/bundler_sfm 项目主页 http://www.cs.cornell.edu/~snavely/bundler/用VS2010打开生成解决方案后会有许多错误1、error C1083: 无法打开包括文件:“sysdep1.h”: No such file

2014-12-29 17:04:38 3744

转载 ubuntu修改root用户密码

这些天一直纠结没有root用户密码,用实验室的机子只知道一个普通用户的密码,而且该用户没有权限安装软件,上网查说是用sudo passwd root,但是我输入后出现$ sudo passwd root[sudo] password for user:user is not in the sudoers file.  This incident will be reported.$

2014-09-17 21:35:35 1073

原创 CudaDeviceSynchronize vs cudaThreadSynchronize vs cudaStreamSynchronize

按照Cuda官方文档上的解释,cuda kernel函数是异步执行的,

2014-07-24 22:52:20 13582

转载 奇异值分解(SVD)

PS:一直以来对SVD分解似懂非懂,此文为译文,原文以细致的分析+大量的可视化图形演示了SVD的几何意义。能在有限的篇幅把这个问题讲解的如此清晰,实属不易。原文举了一个简单的图像处理问题,简单形象,真心希望路过的各路朋友能从不同的角度阐述下自己对SVD实际意义的理解,比如 个性化推荐中应用了SVD,文本以及Web挖掘的时候也经常会用到SVD。原文:We recommend a sing

2014-05-27 15:18:56 695

原创 k-means++算法的c++实现

k-means++是机器学习领域一种基本的聚类算法

2014-05-07 11:20:50 8407

转载 LU分解、LDLT分解和Cholesky分解

LU分解概念:假定我们能把矩阵A写成下列两个矩阵相乘的形式:A=LU,其中L为下三角矩阵,U为上三角矩阵。这样我们可以把线性方程组Ax= b写成Ax= (LU)x = L(Ux) = b。令Ux = y,则原线性方程组Ax = b可首先求解向量y 使Ly = b,然后求解 Ux = y,从而达到求解线性方程组Ax= b的目的。LU分解的基本思想将系数矩阵A转变成等价的两个矩阵L和U

2014-03-24 13:57:21 83161

原创 判断点和mesh的位置关系的两种方法

判断点和mesh的位置关系的方法有两种:1、根据mesh的法向量这种方法需要首先找到里当前点最近的mesh表面点,然后根据最近点的法向量和最近点到当前点的向量之间的夹角进行判断,可以设定一个阈值,例如小于90度判断当前点位于mesh的内部。这种方法需要找出离当前点最近的点,这通常是一项比较繁琐的任务,可以通过kdtree来实现,并且这种方法对于离mesh比较近的点可能会失效。2、通

2014-03-18 11:13:43 2916

转载 PCA原理

PCA的缘起PCA大概是198x年提出来的吧,简单的说,它是一种通用的降维工具。在我们处理高维数据的时候,为了能降低后续计算的复杂度,在“预处理”阶段通常要先对原始数据进行降维,而PCA就是干这个事的。本质上讲,PCA就是将高维的数据通过线性变换投影到低维空间上去,但这个投影可不是随便投投,要遵循一个指导思想,那就是:找出最能够代表原始数据的投影方法。这里怎么理解这个思想呢?“最能代表原始数据

2014-03-05 18:25:32 1279

转载 根据旋转前后的向量值求旋转矩阵

根据旋转前后的向量值求旋转矩阵如果已知旋转前后的一向量的变化,那么该如何求这个旋转矩阵呢?本篇结合Rodrigues' rotation formula,介绍一下该旋转矩阵的求法。1.旋转角度已知旋转前向量为P, 旋转后变为Q。由点积定义可知:可推出P,Q之间的夹角为:2. 旋转轴由1中可知,旋转角所在的平面为有P和Q所构成的平面,那么旋转轴必垂直该平面

2014-02-27 12:30:38 4164

原创 vs2010创建和使用动态链接库DLL和lib

第一步:新建一个Win32项目,如图:选择空项目,单击完成。第二步:把你要创建动态链接库的头文件(.h)和源文件(.c/.cpp)添加到项目中。具体方法是将你的头文件和源文件复制到工程目录下。一个例子是,加入当前新建了一个SIFTD_的Win32项目,那么头文件和源文件应该放在如下图所示的目录然后在vs2010界面通过快捷键Shift+Alt+A将头

2013-12-21 09:11:47 1034

转载 教你一步一步用c语言实现sift算法

本文转载自:http://blog.csdn.net/v_july_v/article/details/6245939引言:    在我写的关于sift算法的前倆篇文章里头,已经对sift算法有了初步的介绍:九、图像特征提取与匹配之SIFT算法,而后在:九(续)、sift算法的编译与实现里,我也简单记录下了如何利用opencv,gsl等库编译运行sift程序。    但据一朋友表示

2013-12-19 17:49:37 1158

转载 C内存对齐

文章最后本人做了一幅图,一看就明白了,这个问题网上讲的不少,但是都没有把问题说透。  一、概念       对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。     二、为什么要字节对齐      需要字节对齐的根本原因在于CPU访

2013-12-18 10:06:53 416

转载 HBase简介

一、 简介historystarted by chad walters and jim2006.11 G release paper on BigTable2007.2 inital HBase prototype created as Hadoop contrib2007.10 First useable Hbase2008.1 Hadoop

2013-12-04 18:18:08 436

原创 Hadoop DataNode启动失败

通过分析启动日志后发现fs.data.dir参数设置的目录权限必需为755,要不启动datanode节点启动就会因为权限检测错误而自动关闭。我之前一直设置成chmod 777 不行,要chmod 755就可以了。。这个要在Linux的文件权限那里设置。$ chmod 755 -R  /home/hndxzly/hbase/hadoop-1.0.3/hdfs/data

2013-11-20 17:29:50 773

color transfer between images(不同图像之间的颜色转移)

实现了论文color transfer between images不同图像之间的颜色转移的方法,该实现是基于opencv的

2013-12-07

计算机视觉(第四版)

全书分为十四章,第二章讲述了边缘检测,第三章讲述了射影几何学的基本知识,然后是摄像机标定和立体视觉,第六章讲述了运动与不确定性表达,第七章基于光流场的运动分析,然后是长序列运动图像特征跟踪,九、十章讲述了基于二维及三维特征对应的运动分析,接下来讲述了由图像灰度恢复物体的三维形状,第十二章是建模与识别,最后一张对计算机视觉系统体系结构进行了讨论与展望

2013-09-01

使用OpenNI读取多个Kinect

详细讲述了如何用OpenNI读取多个Kinect数据,并且可以测试一台PC最多可以连接多少个Kinect

2013-08-19

OpenNI、OpenCV安装与开发环境配置

详细讲述了OpenNI和OpenCV在vs开发环境下的安装配置

2013-08-19

图的深度广度遍历,关键路径和最短路径

对图的深度,广度遍历,关键路径算法,最短路径算法实现,求生成树的深度及叶子结点数

2011-05-31

二叉树的非递归实现算法源代码

二叉树的非递归实现算法,内涵源代码,主要实现对二叉树的非递归遍历操作以及其他的一些相关操作。。。

2011-05-31

stdarg.h中三个宏va_start ,va_arg和va_end的应用

1)首先在函数里定义一个va_list型的变量,这里是arg_ptr,这个变 量是指向参数的指针. 2)然后用va_start宏初始化变量arg_ptr,这个宏的第二个参数是第 一个可变参数的前一个参数,是一个固定的参数. 3)然后用va_arg返回可变的参数,并赋值给整数j. va_arg的第二个 参数是你要返回的参数的类型,这里是int型. 4)最后用va_end宏结束可变参数的获取.然后你就可以在函数里使

2011-05-15

用MFC对话框的若干思路

CTestDlg dlg; dlg.DoModal();//创建一个模态对话框 创建模态对话框时,应用程序执行到这个地方时就会暂停执行,只有当我们关闭该对话框时,应用程序才接着向下执行.由于DoModal()的返回值是作为EndDialog()的一个参数返回的,EndModal()是用来关闭一个模态对话框的.

2011-04-26

vector的用法.doc

vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库。vector之所以被认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单地说,vector是一个能够存放任意类型的动态数组,能够增加和压缩数据。

2011-03-21

JSP跳转方式总结.doc

1.RequestDispatcher.forward()    是在服务器端起作用,当使用forward()时,Servlet engine传递HTTP请求从当前的Servlet or JSP到另外一个Servlet,JSP 或普通HTML文件,也即你的form提交至a.jsp,在a.jsp用到了forward()重定向至b.jsp,此时form提交的所有信息在 b.jsp都可以获得,参数自动传递.    但forward()无法重定向至有frame的jsp文件,可以重定向至有frame的html文件,同时forward()无法在后面带参数传递,比如servlet?name=frank,这样不行,可以程序内通过response.setAttribute("name",name)来传至下一个页面.

2011-03-21

空空如也

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

TA关注的人

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