自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 常用的位运算

1、按位与 &       0 & 0 = 0;0 & 1 = 0;1 & 0 = 0;1& 1 = 1      同时为1则结果为1,否则为0;      如3 & 8      3 = 00000011     5 = 00000101      结果为  000000012、按位或 ||      0|0=0; 0|1=1; 1|0=1; 1|1=1; 

2018-01-15 16:51:43 245

原创 Lintcode--4(1)--A+B

题目:给出两个整数a和b, 求他们的和, 但不能使用 + 等数学运算符。说明:a和b都是 32位 整数么?是的我可以使用位运算符么?当然可以样例:如果 a=1 并且 b=2,返回3显然你可以直接 return a + b,但是你是否可以挑战一下不这样做?原理:考虑一个普通的加法计算:5+17=22在十进制加法中可以分为如下3步进行:    1.

2018-01-15 16:45:46 253 1

原创 Lintcode--2(56)--两数之和

题目:给一个整数数组,找到两个数使得他们的和等于一个给定的数 target。      你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 0 到 n-1。注意事项     你可以假设只有一组答案。样例     给出 numbers = [2, 7, 11, 15], target = 9, 返回 [0, 1].1.暴力

2018-01-15 14:48:20 399

原创 Lintcode--3(366)--斐波那契数列

题目:查找斐波纳契数列中第 N 个数。          所谓的斐波纳契数列是指:          前2个数是 0 和 1 。          第 i 个数是第 i-1 个数和第i-2 个数的和。          斐波纳契数列的前10个数字是:          0,1,1,2,3,5,8,13,21...程序:class Solution {public:/*

2018-01-15 14:46:15 201

原创 实现两个数的交换(异或,加减)

1、 通常我们通过设置临时变量来实现两个数的交换,如下: void swap(int *a,int *b) { int temp; temp=*a; *a=*b; *b=temp; }2、还可以通过异或来实现两个不同整数的交换,如下: void swap(int &a,int &b) { temp=a^b; //

2018-01-13 20:16:56 4413

原创 Lintcode--1(463)--整数排序

题目:给一组整数,按照升序排序,使用选择排序,冒泡排序,插入排序或者任何 O(n2) 的排序算法1、冒泡排序     原理:从第一个整数开始第一趟,比较相邻的两个元素,大的放在后面;一轮结束后,最大的数沉底;重复这一过程,完整n-1趟。     所以有两个循环,外循环决定第几趟、从第几个元素开始比较;内循环是比较相邻两个元素大小,决定要不要交换。class Solution

2018-01-13 19:52:45 391

原创 Gram矩阵

1、Gram矩阵的定义2、意义       格拉姆矩阵可以看做feature之间的偏心协方差矩阵(即没有减去均值的协方差矩阵),在feature map中,每个数字都来自于一个特定滤波器在特定位置的卷积,因此每个数字代表一个特征的强度,而Gram计算的实际上是两两特征之间的相关性,哪两个特征是同时出现的,哪两个是此消彼长的等等,同时,Gram的对角线元素,还体现

2018-01-11 19:50:23 60016 2

转载 辨析矩阵内积(hadamard、kronecker)

1. matmul product(一般矩阵乘积)m x p矩阵A与p x n矩阵B,那么称 m x n 矩阵C为矩阵A与矩阵B的一般乘积,记作C = AB ,其中矩阵C元素 [cij]为矩阵A、B对应两两元素之和,表示为:例子:2. Hadamard product(哈达玛积)m x n矩阵A = [aij]与矩阵B = [bij]的Hadamard积,两个矩阵同型,

2018-01-11 19:02:24 8800

原创 用数组存储循环序号的数据

一个i(i   一维存储方法(类似于opencv存储彩图的顺序) for (int i = 0; i < viewMatches.size(); i++)//将匹配的特征点坐标赋给point,给数组赋值 { index1 = viewMatches.at(i).queryIdx; index2 = viewMatches.at(i).trainIdx; poi

2018-01-09 11:31:45 920

原创 头文件的写法

#ifndef SURF_FUNC_H_//大写,防止头文件被多次包含,防止与自带的头文件重复#define SURF_FUNC_H_float** SURFCompare(Mat srcImage1, Mat srcImage2, float paraHessian);#endif   1.只需要将函数声明、宏定义、结构声明等内容写入。   2.头文件可以定义很多宏定义,以及一

2018-01-09 11:27:04 966

原创 opencv中的矩阵拼接

hconcat、vconcatMat_ T_L = (Mat_(3, 1) << -518.97666, 01.20629, 9.14632);//平移向量Mat_ T_R = (Mat_(3, 2) << 518.97666, -01.20629,-9.14632,518.97666, -01.20629, -9.14632);//旋转向量Mat_ Zero = (Mat_(1, 4)

2018-01-08 21:08:51 3319 1

原创 Mat的初始化以及Mat与数组的相互转化

Mat类型数据的初始化方法可以有以下两种:1、直接初始化Mat_ T_L = (Mat_(3, 1) 2、利用数组初始化float A[4][3] = { 0 };Mat A_mat = Mat(4, 3, CV_32F, A);//如果是double类型用64  注意:初始化数组时常遇到“无法显示标识符”的提示,可能用了中文的逗号;Mat转化为数组可以用以下两种方法

2018-01-08 20:27:28 19321

原创 C error :Run-Time Check Failure #2 - Stack around the variable 'b' was corrupted.

运行程序遇到这样的错误:Run-Time Check Failure #2 - Stack around the variable 'b' was corrupted.   检查后发现原因在于:数组b越界了,int b[4]里面有4个元素,包含b[0],b[1],b[2],b[3],没有b[4],赋值的时候把某个数据赋给了b[4]

2018-01-08 20:22:31 2900

原创 Opencv图像保存到电脑及显示

针对两种类型的图片有两种不同的方法:1、对于Mat类型图像,用imwrite、imshowMat img_goodmatch; imwrite("最终匹配结果.bmp", img_goodmatch); //“”里面为路径及图片名,可以改为绝对路径 namedWindow("筛选

2018-01-08 20:11:13 465

原创 Opencv imshow显示不出来图片

VS+OPENCV处理图像时,imshow显示图片一片灰色,刚开始以为图片太大一直加载不出来,但是一直等不到显示出来,最后发现是因为最后忘记写cvWaitKey(0);//或者waitKey(0);

2018-01-08 19:44:02 10777 7

原创 C定义全局变量

程序工程中往往遇到这样的问题:某个变量是贯穿始终的,主函数以及不同的子函数都要用到这个变量,并且要调用子函数改变变量的值。这时候全局变量就起到一个桥梁作用,在函数外定义,在主函数中调用定义,在子函数A中调用并赋值,在子函数B中调用该变量,此时的值已经是改变之后的值。   用法:在主函数之前定义全局变量(不包含在任何变量里)int pointnum;//全局变量,匹配点对个数   在主函数mai

2018-01-08 19:22:49 40606 3

原创 C如何将二维数组作为返回值

做大作业遇到这样一个问题:在子函数里申请了一个二维数组,在主函数里要用到二维数组里的数据,但是在主函数里又不能提前申请(因为不知道数组长度),所以需要将数组return得到。   子函数:float ** SURFCompare(Mat srcImage1, Mat srcImage2)//注意子函数返回值为float **{ ... float **point;//定义二维指针

2018-01-08 18:47:15 15384 1

原创 C++error:找不到指定文件

做作业遇到这样的问题:新建了一个C++工程,在内部新建了a.cpp a.h文件,将另一个工程里面的内容复制了过来,但是运行显示“找不到指定文件”,找了一下,发现虽然我的项目源文件里包换这个cpp文件,但是和其他cpp文件不在同一个文件夹里,所以程序运行找不到该文件。  以后注意,新建的文件要在同一个文件夹里,与主函数保持一致。

2018-01-08 17:01:52 3757

原创 C++文件交互(txt、excel)

前些天完成了计算机视觉大作业,《基于双目立体视觉的深度图像生成》,虽然刚开始觉得作业很难,也没找到现成的程序,但做到最后还是学到很多知识,get到很多技能,现在一一总结下来。 1、C++输出数据到txt   包含头文件:#include //文件交互   开头程序:ofstream outf;//这里如果定义outfile 下面都用outfileoutf.open("result.

2018-01-08 15:30:35 3601 2

原创 如何使一维数组一行一行的输出成二维数组的格式

以9个元素的数组为例,输出3x3的格式  基本思想是对每一个元素的index进行检查,当index是3,6,9等可以被3整除的数时,在打印它们之前,先打印一个'\n'。注意0也可以被3整除,但是此时不打印'\n',所以要加上i>0的判断。程序如下:for (i = 0; i<9; i++) { if (i>0 && i % 3 == 0) printf("\n")

2018-01-01 15:48:59 3616

空空如也

空空如也

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

TA关注的人

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