- 博客(81)
- 资源 (8)
- 收藏
- 关注
原创 QML 与 C++之间的数据传输
话不多说,先上代码://main.cpp#include <QGuiApplication>#include <qqmlapplicationengine>#include <qtqml>#include <QTextCodec>#include <QQmlContext>#include <QQuickView...
2020-01-15 16:54:05
6262
转载 BRIEF描述子算法学习
BRIEF(Binary Robust Independent Elementary Features)一种对已检测到的特征点进行描述的算法,它是一种二进制编码的描述子,在图像匹配时使用BRIEF能极大的提升匹配速度。算法步骤如下:1、为减少噪声干扰,先对图像进行高斯滤波(方差为2,高斯窗口为9x9)。2、以特征点为中心,取SxS的邻域大窗口。在大窗口中随机选取
2017-12-06 14:52:58
4704
原创 双系统:Windows7下安装Ubuntu16.04
以前在本本上用过U盘做成启动盘安装,最近在工作需要装个Ubuntu但因为没有多余U盘就使用EasyBCD进行安装,方便快捷。1.前提准备环境:windows7 EasyBCD 2.3ubuntu-16.04.2-desktop-amd64.iso2.可用空间准备开始+R 打开运行界面,输入 diskmgmt.msc打开磁盘管理,右键一个不
2017-08-19 16:42:48
97577
19
原创 ORB_SLAM ORBextractor 特征点提取 opencv源码学习
大体结构如下:重载()运算符实现:1.计算图像金字塔2.特征点提取3.高斯模糊4.计算描述子Operate()void ORBextractor::operator()( InputArray _image, InputArray _mask, vector& _keypoints, OutputArray _
2017-07-05 15:53:26
1530
原创 FAST算法学习
FAST 全称 Features fromaccelerated segment test,一种用于角点检测的算法,该算法的原理是取图像中检测点,以该点为圆心的周围的16个像素点判断检测点是否为角点。FAST的基本实现过程如下:1.角点检测对于检测点p,若周围的16个像素点中有N个连续的点的像素值都比其小一个阈值 或 大 一个阈值,则该点可作为角点。即img[x] img[
2017-05-10 20:26:32
10156
原创 Windows 下配置lsd_slam环境
转载请注明出处:环境: VS2013 + Windows 需要: Cmake2.8+、Boost 1.5+、Opencv 2.4+、G2O、Eigen3.2+、Qt5、LibQGLViewer、QtVSAddin(可选)。关系:一、Opencv直接运行opencv-2.4.11.exe,按流程完成后在输出目录如(D:\opencv)有
2017-04-27 18:22:23
5629
9
原创 人脸检测、提取特征点(dlib下的三个例子)
转载请注明出处:本文章主要进行dlib中....\dlib-18.18\examples下的三个例子的实现。本小白用的是:VS2013 + dlib18.18 + opencv2.4.111.opencv用于读取数据源(待测图片、视频、摄像机等)。2.dlib用于人脸检测,特征点检测等。3.dlib环境配置在上一篇文章已介绍,接下来加上opencv的环境即可运行:
2017-04-27 15:05:50
18488
3
原创 Dlib环境配置
如要成功运行face_detection程序,还需要opencv库该篇文章主要讲解dlib部分的环境配置,关于成功运行一个人脸识别程序将会在下一章给出例子。本小白的用的是:VS2013 + dlib18.18(最新版的dlib需要vs2015支持的c++11新特性,故此使用历史版本。)配置Dlib的环境有两种方法,一种是常规的cmake生成库调用,另一种不需要cmake配起来更快速
2017-04-27 13:18:02
6087
1
原创 SVD分解 Eigen库 opencv库
如题,使用库函数进行svd分解,形如 A = U * S * VT.Eigen 库:#include #include #include //using Eigen::MatrixXf; using namespace Eigen; using namespace Eigen::internal; using namespace Eigen::Architect
2017-03-30 19:09:53
18137
原创 OpenGL 应用程序无法正常启动0xc000007b
关于这个问题,网上有很多人也遇到过,但基本上使用别人的解决方法都解决不了自己的问题。出现这样的情况的原因是依赖库出 现错,而每个人出错的依赖库又不一样。这里写上自己遇到的情况: 首先,我的电脑是64位win7系统,用的是VS2012,win32编译器。在自己的电脑上运行没有问题,但是移植到小伙伴的电脑上时,一开始出现缺少“msvcp110d.dll”、“msvcr110d.dll”
2017-01-05 14:52:57
5318
原创 最小二乘法 拟合平面直线
前言: 最近要实现一个算法,“对一系列点拟合出一条线,且区分出不属于改线的点”。在网上找了许多资料,用数学公式解释原理以及用matlab实现的居多,本文章主要解释用最小二乘法的进行点拟合成线,matlab 和 c++两个版本的代码实现。使用矩阵实现: 根据公式A = (X'*X)-1*X'*Y(这个公式可以拟合一条最接近点的曲线,而不仅仅是直线,具体请参照链接),
2017-01-03 19:15:32
26086
3
转载 K-Means++算法 及应用
k-means算法是一种基本的聚类算法,这个算法的先决条件是 1)必须选择最终结果需要聚为几类,就是k的大小。 2)初始化聚类中心点,也就是seeds。 当然,我们可以在输入的数据集中随机的选择k个点作为seeds,但是随机选择初始seeds可能会造成聚类的结果和数据的实际分布相差很大。既然选择初始的seeds这么重要,那有什么算法可以帮助选择初始的seeds吗?当然
2016-12-28 19:41:32
4687
原创 OpenGL环境配置
环境:windows + OpenGL + VS2012环境配置 OpenGL的环境配置说白了就是让VS在使用的时候能找到相应的库:1.下载glfw、glew(不管机器是64 还是32,都用32位的),解压。2.打开VS,新建一个空项目。3.右键项目名->属性:(VS相关的配置,一般只需要配这三个地方,OpenCV也是类似的) (1)vc++目录 ->包含
2016-12-21 19:04:40
619
原创 OpenGl实现一个简单的随手画功能
环境:Windows、VS2012。 简介:一个用OpenGL实现的2D随手画,刚开始学opengl的时候,只是按照教程写了一遍代码,对其理解还不是很深刻,本功能把各功能分开,让其看上去更像一个工程。这个随手画其实效率很低,实现的方法是画点,由n个点组成一条线,每个点我定义成一个正六边形(因为点小,近似圆)。结构图如下: 效果(鼠标点击时画线,鼠标释放线消
2016-12-15 16:54:37
3043
原创 android 通过usb 读取数据
背景介绍: 老大忽然跟我说:今天你做一个东西,能确保我们的usb外设发送的数据能被接受到。 然而,作为一个android 零基础 的小白(初创公司真是身兼多职~。~),只能各种找资料,最后 ac了。一、查找大概的代码:在activity下开一个线程,传usbManager,代码如下:package com.e
2016-09-30 16:03:18
14247
1
转载 OpenlGl es 绘制汉字
原创:这个是在解决小白遇到的实际问题时写的一个方法,因为有一个输入bitmap的接口已经写好了,所以字节写了个下面的函数。获取要绘制的文字String name,输出 该文字的Bitmap: public Bitmap getBitmapHover(String paramDisplay) { Bitmap bmp = Bitmap.createBitmap(256, 2
2016-09-19 15:55:49
951
原创 CalledFromWrongThreadException
报错:$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.这个错误是因为在 主线程之外的线程中进行了修改主界面UI的操作。问题:我目前遇到的问题是在子线程中想对屏幕亮度进行修改导致上面的报错。解决
2016-08-30 10:54:44
729
原创 C++ Primer 第五版 部分课后题答案
当时刚学C++的时候买了这本书,一开始前面看的一知半解,索性就先缓缓,等学完学校的C++课程(中途自己也写了不少c++的代码),一段时间之后又拿起这本书去看,感觉还是挺有滋味的,这本书对我印象中的C++做了很大的扩展,个人认为这本书不太适合刚学C++就去看,而是写了一定的代码,对C++有一个大体的了解之后再去看会很有味道。在看书的过程中自己也写了上面的课后练习题,现在整理一下,也跟大家分享一下,下
2016-06-02 20:50:03
5132
2
原创 O(n)查找第k小(大)的数
通过快排的思想可以实现在O(n)的时间复杂度下实现:查找数组第k小的数,在排好序的数组中,就相当于查找第k个数,基于快排的思想,我们只需要判断所找的那个标量是否是第k个数即可。
2016-05-12 10:56:24
1160
原创 快排、堆排、归并排 的理解
快速排序快速排序是冒泡排序的进阶版,平均时间复杂度为O ( nlogn ),算法思路如下:1.选定一个值作为标量,把 比该值小的数放左边,比该值大的数放右边。2.分别对左右两边的数再次进行1中的操作一直递归,直到只剩下一个数为止。 比如: 7,1,5,8,9,2,4,3假定每次选择第一个数为标量 :下面模拟第一组序列得到的过程:s:标量l、r:左右指针
2016-05-07 09:40:22
1853
原创 linux~存储学习
实训期间,学习了linux下部分shell命令进行的一些操作,使用的是RHEL6系统,以下为整理的笔记:一、shell简介linux下当记不清楚或根本不知道一个命令的意思时,请用man help命令:1、man是manual(操作说明)的简写,用于得到外部命令的帮助信息。 例如 man time,可知道time的命令的作用。 2 、help命令用于显示s
2016-03-02 22:17:12
2509
2
原创 hdu~5025(bfs+状态压缩)
题目链接题意如下:悟空(K)救唐僧(T),在一个迷宫里,集齐m把钥匙方可救出唐僧,条件:1.每次移动花费1个单位时间,遇到蛇(最多5条),杀死它花费一个单位时间。2.如果你进入了一个房间放着第w把钥匙,只有在你有前w-1把钥匙的情况下你才能得到这把钥匙,否则不能得到。比如 KT21 ,从K开始走 :右右右左左 花费5个单位时间。3.输入 0 0表示结束。
2015-09-16 21:20:51
626
原创 hdu~4920(坑)
题目链接题意就是给你矩阵 A B 求 AXB,注意值%3;正常的方法是加入结果为C[][],c[i][j]= a[i][]一行 与b[][j]一列的乘积之和,然而按列取的话会超时(不是一般的坑):#include int a[805][805],b[805][805],c[805][805];int main(){ int n; while(scanf("%
2015-09-11 09:28:05
551
原创 hdu~4707(vector)
题目连接题意:给你一没有回路的连通图,标记为0~n-1,相邻边的权值为1,找出距离 点0 大于m的点的个数.输入n m , n-1条边.(理解了题意+vector 这道题就很水了)据说这道题的题目很水,直接用num[y]=num[x]+1(输入一条边 X Y)都能过,我也是醉了.然而这些都是歪门邪道,让我们来看看正确的解法:首先N如果用floyd最短路
2015-09-04 19:55:58
586
原创 hdu~3650(气球着色)
题目链接看这道题之前,我们先来看到气球着色问题.气球着色题目大意:有n(10^5)个气球,m(10^5)次着色操作(对区间内的气球着色),后面跟着ai biq(10)次询问(询问某个气球着色次数). 最笨的思路是开一个sign[]数组,每次对区间内的sign[a~b]++;这样的时间复杂度为O(n*m)近10^10,直接
2015-09-03 19:13:47
760
原创 hdu~4282(数学题)
题目链接数学题,随便分析一下就能做了.首先 X^Z + Y^Z + XYZ = K K因为z>1 ,所以当z=2时,式子转化为 x^2 z=2时, x^3所以 当K>=3的时候这已经是个暴力水题了,只需要特判K==2:#include #include #define ll long lon
2015-09-03 18:29:54
668
原创 hdu4287(字典树)
题目链接字典树不会的同学:点这里题意: 手机上有如下映射2 -> a,b,c...9-> w x y z给你n个数字 和 m个单词 ,问每个数字对应的映射能组成多少种单词.依次输出.一开始做的时候脑子进水了 ,把字母存入字典树里,结果就要考虑数字对应的字母情况.比如 23对应 ad ae af bd be bf cd ce cf.这样内存不够.
2015-09-03 13:26:22
428
原创 javac 程序 'javac' 已包含在下列软件包中:
当输入javac xxx.java 时返回:程序 'javac' 已包含在下列软件包中: * default-jdk * ecj * gcj-4.8-jdk * openjdk-7-jdk * gcj-4.6-jdk * openjdk-6-jdk这时我们只要在终端输入: update-alternatives --install /
2015-09-03 07:47:18
3778
原创 快速幂
神奇的快速幂快速幂顾名思义,就是快速算某个数的多少次幂。其时间复杂度为 O(log₂N), 与朴素的O(N)相比效率有了极大的提高。例如 计算result=a^11普通的方法: result=a*a*a..*a*a(11个a相乘) ,计算了11次。快速幂的方法: 11的二进制是101111 = 2³×1 + 2²×0 + 2¹×1
2015-09-02 17:37:14
513
原创 ubuntu 下java环境配置
首先下载jdk:点此下载在下载之前我们要先选中“Accept License Agreement”然后,才允许我们下载。x86是32位的.x64是64位的.下载.tar.gzctrl+alt+t调出ubuntu的终端。输入一下命令: sudo nautilus输入密码, 改命令是以root权限打开目录.1.把文件复制到 /usr/java
2015-09-01 22:06:47
506
原创 poj~1321(简单搜索)
题目链接:棋盘问题简单的dfs,当初细节错误,贡献了一次wa。#include int n,m,ans;int num[10]; //标记第i列是否遍历char seat[10][10]; void dfs(int k,int sign){ for(int i=1;i<=n;++i){
2015-08-23 15:40:01
606
原创 sdut 3260
import java.util.*; //输入import java.math.*; //大数public class test{ public static void main(String[] args){ Scanner input=new Scanner(System.in); while(input.hasNext()){ //输入格式 int t
2015-08-10 10:05:04
626
转载 java 大数
import java.util.*;import java.math.*;public class test{ public static void main(String[] args){ Scanner input=new Scanner(System.in); System.out.println("woqu!"); BigInteger a=input.nextBi
2015-07-30 09:23:41
484
原创 poj~1915(bfs)
Knight Moves题意:求起点到终点最少走几步.上双向广搜代码:#include #include #include using namespace std;int n,sx,sy,ex,ey;int dirx[]={-2,-2,-1,-1,1,1,2,2}; //题意 ,8个方向int diry[]={1,-1,2,-2,2,-2,1,-1};typed
2015-07-15 09:36:05
452
转载 ubuntu 垃圾清理
一、删除缓存1,非常有用的清理命令:sudo apt-get autoclean 清理旧版本的软件缓存sudo apt-get clean 清理所有软件缓存sudo apt-get autoremove 删除系统不再使用的孤立软件这三个命令主要清理升级缓存以及无用包的。2,清理opera firefox的缓存文件:ls ~/.opera/cache4ls ~/.
2015-06-15 21:02:09
488
转载 线段相交模板
struct PT{ double x,y;//点的坐标}s[15][2];//线段的2个端点,MAX表示线段条数的上限double Min(double a,double b){ return a<b?a:b;}double Max(double a,double b){ return a>b?a:b;}double Dir(PT p1,PT p2,PT
2015-05-24 16:43:43
537
转载 ubuntu下,wine完全卸载的方法.
Wine (“Wine Is Not an Emulator” 的首字母缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如 Linux,Mac OSX 及 BSD 等)上运行 Windows 应用的兼容层. 简单的说就是,安装了wine就可以在ubuntu下安装大部分兼容windows的软件(如QQ). 当时觉得这个软件不错,奈何双
2015-05-22 08:12:48
5914
原创 poj~2886
Who Gets the Most Candies?题意:有n个孩子顺时针围成一个环,每个孩子有一个jump值。从第m个孩子开始出环,下一个出环的孩子根据第m个孩子的jump值决定。jump>0 顺时针数第jump个出环。jump第i个孩子出环会得到f[i]个糖果,f[i]是i的约数个数。输出得到糖果最多的那个孩子的名字 和 糖果数。首先根据反素数得到第
2015-04-29 09:20:01
412
eigen3(cmake VS生成)
2017-04-24
QGLViewer_lib_dll
2017-04-24
g2o_lib_debug
2017-04-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人