朗云星空

私信 关注
wayen820
码龄6年
  • 251,916
    被访问量
  • 73
    原创文章
  • 28,783
    作者排名
  • 70
    粉丝数量
  • 于 2015-07-05 加入CSDN
获得成就
  • 获得86次点赞
  • 内容获得54次评论
  • 获得258次收藏
荣誉勋章
兴趣领域
  • #人工智能
    #神经网络#机器学习#视觉/OpenCV#图像处理#Python#算法#深度学习
TA的专栏
  • 工作经验记录
    18篇
  • c++
    13篇
  • 监控系统
    3篇
  • ros
    10篇
  • c#
    3篇
  • python
    1篇
  • 深度学习
    17篇
  • android
    9篇
  • 图像算法
    9篇
  • 算法
    2篇
  • dlib
    4篇
  • matlab
    1篇
  • 理论
    1篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

ML Visuals by dair.ai.pptx

机器学习PPT作图相关素材,github地址:https://github.com/dair-ai/ml-visual
pptx
发布资源于 28 天前

android native activity编程解疑记录

1 java层的camera 预览回调onPreviewFrame是在哪个线程调用的?答案是在调用open camera的这个线程,前提是这个线程要有关联的looper,如果没有,就会在main thread上面。底层在获取到相机原始数据后,会把onPreviewFrame消息送到looper关联的消息队列里。2 疑问,android_main入口中,里面实现如果不进行消息处理,也就是不调...
原创
357阅读
0评论
0点赞
发布博客于 3 年前

JNI编程答疑

原文 https://developer.android.com/training/articles/perf-jni?hl=zh-cn#java1 JaveVM 和JNIEnv是什么jni相关的方法几乎都放在JNIEnv里面,JNIEnv是用于线程本地存储的,因此不能跨线程共享使用。如果一个类需要JNIEnv对象,不要直接传递JNIEnv,而应该通过JaveVM,通过GetEnv方法获得...
原创
236阅读
0评论
0点赞
发布博客于 3 年前

android中和c++中生产者和消费者模式

首先上代码,androidpackage com.wmz.helloworld;import java.util.Random;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import andro...
原创
128阅读
0评论
0点赞
发布博客于 3 年前

使用android ndk编译opencv库过大解决方法

ndk提供的build/cmake/android.toolchain.cmake中有个bug,修改方式如下,详细可以参考https://github.com/android-ndk/ndk/issues/243# edit $ANDROID_NDK/build/cmake/android.toolchain.cmake with your favorite editor# remove ...
原创
1199阅读
0评论
1点赞
发布博客于 3 年前

《VISUALIZING THE LOSS LANDSCAPE OF NEURAL NETS》论文解析

引言神经网络的损失函数是一个高度非凸的函数,神经网络的训练在于我们能否在这个高度非凸的函数里找到最小值。总所周知,某些网络(如带skip connections)会比较容易训练,超参数(批量大小,学习率,优化器)选择的合适,会使得模型泛化能力更高。但是,造成这些区别的原因究竟是什么?他们对损失函数的曲面造成什么影响,都是不太清楚的。这篇论文里,我们使用可视化的方法,探索了损失函数的结构和损...
原创
1320阅读
0评论
0点赞
发布博客于 3 年前

ubuntu下安装caffe和python3配合安装注意事项

1 先卸载掉你通过apt-get 安装的protobuf,用sudo apt-get remove libprotobuf-dev libprotoc-dev进行卸载,不然编译caffe会出现莫名其妙的错误2 安装protobuf 3.0.0,直接从github上源码编译安装,编译方法查看src下面readme;https://github.com/protocolbuffers/prot...
原创
536阅读
0评论
0点赞
发布博客于 3 年前

反向传播算法推导

      BP(backpropgationalgorithm ):后向传导算法,顾名思义就是从神经网络的输出(顶层)到输入(底层)进行求解。那么求解什么呢,求解的就是神经网络中的参数的导数,即参数梯度方向,从而就可以使用梯度下降等求解无约束问题(cost function的最值)的方法求得最终的参数。神经网络前向传播的过程比较简单,这里不做讲解(如果不了解,可以参看文献)。 1.问题分...
转载
415阅读
0评论
0点赞
发布博客于 3 年前

mobilenetv2深度解析

今天下午仔细review了mobilenetv2的论文,有了新的感觉,在这里留个记录,也跟大家分享一下。论文原文《MobileNetV2: Inverted Residuals and Linear Bottlenecks》论文里面提出了下面几个结构,深度卷积就不说了,正常卷积可以分解为depthwise和pointwise两个卷积,减小运算量和参数数量。如下面,a是正常的卷积形式,b是深度卷...
原创
3819阅读
1评论
2点赞
发布博客于 3 年前

android下无预览摄像

废话不多说,直接上代码1,定义相机类kcamerapackage com.kneron.kfaceservice;import android.graphics.ImageFormat;import android.graphics.SurfaceTexture;import android.hardware.Camera;import android.util.Log;i...
原创
673阅读
0评论
1点赞
发布博客于 3 年前

linux c++中char类型

linux c++中char默认是带符号的,使用(int)ch 对char类型进行转换得到的可以是负值,如ch真实是255,通过转换到int将得到-1,但是怎么得到255进行打印输出呢?可以使用(int)((unsigned char)(ch)),先将ch转换为unsigned char,这样系统就认为没有符号了,再转换到int就可以啦。对于char类型是否默认带符号,android ndk下...
原创
380阅读
0评论
0点赞
发布博客于 3 年前

防止过拟合的处理方法

原文地址:一只鸟的天空,http://blog.csdn.net/heyongluoyao8/article/details/49429629防止过拟合的处理方法过拟合  我们都知道,在进行数据挖掘或者机器学习模型建立的时候,因为在统计学习中,假设数据满足独立同分布(i.i.d,independently and identically distributed),即当前已产生的数据可以对未来的数据...
原创
132阅读
0评论
0点赞
发布博客于 3 年前

论文解析《Deep Convolutional Neural Network Features and the Original Image》

这一篇论文详细分析了人脸识别中CNN网络提取到的features有一些什么样的性质,一般人脸识别中CNN出来后面接一个线性层用交叉熵来分类,这里的features值得就是cnn出来的512或者128维的浮点数组。文章首先用这个features作为输入,使用LDA来分类,预测头部姿态Yaw,Pitch,和图像媒介,得到下面的结果,可以看到,embeding features还是包含反映面部姿态和原始...
原创
863阅读
0评论
0点赞
发布博客于 3 年前

论文解析-《Understanding the difficulty of training deep feedforward neural networks》

这篇论文详细解析了深度网络中参数xavier初始化方法,这里做一下读书笔记,同时记录一下自己的理解。1 引言经典前馈神经网络其实很早就有了(Remelhart et al.,1986),近年来对深度监督神经网络的一些成果只不过在初始化和训练方法跟以前有点区别,可是为什么能够取得这么好的结果?部分原因可能是使用非监督训练方法来初始化网络,使得网络整体处于一个比较好的优化状态。但是更早的一些研究(Be...
原创
788阅读
0评论
0点赞
发布博客于 3 年前

android下使用cmake进行开发

一般android中开发app用android studio就够了,从android studio2.3以后,android studio就已经支持使用cmake的方法进行ndk编译了,从底层来说,android studio也是调用cmake的命令来进行编译的,这篇文章记录一下使用命令行来编译android库和原生程序的方法。原理概述android cmakelist.txt和正常的linux下...
原创
1962阅读
0评论
0点赞
发布博客于 3 年前

cmake中宏的使用

首先贴一个例子进行分析set(var "ABC")macro(Moo arg) message("arg = ${arg}") set(arg "abc") message("# After change the value of arg.") message("arg = ${arg}")endmacro()message("=== Call macro ==="
原创
3355阅读
0评论
3点赞
发布博客于 3 年前

tensorflow中name_scope和variable_scope使用方法示例

刚开始用tensorflow定义一个简单的模型,脚本如下:import tensorflow as tfimport numpy as np# 添加层def add_layer(inputs, in_size, out_size, activation_function=None): # add one more layer and return the output of this...
原创
1218阅读
0评论
0点赞
发布博客于 3 年前

tensorflow移植到android及开发环境搭建

项目需要将tensorflow的pb模型移植到android,tensorflow官方给的移植例子是在java层面上的,有一个so和相应的jar包,不是很符合需要,因为实际项目里除了调用模型得到结果,中间还有很多的处理工作,并且在java层开发。我做的是一个手机人脸识别,从输入图像,mtcnn人脸检测和特征点检测,对齐,识别,对比,整个下来一个流程。另外,如果提供给客户sdk包含tensorflo...
原创
3406阅读
1评论
0点赞
发布博客于 3 年前

系统学习深度学习--Batch Normalization

Batch Normalization,简称BN,来源于《Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift》,也是GoogLeNet v21-Motivation    作者认为:网络训练过程中参数不断改变导致后续每一层输入的分布也发生变化,而学习的过程又要使每一层
转载
146阅读
0评论
0点赞
发布博客于 3 年前

BN层原理解析

前几天看了BN的那篇经典论文《《Batch Normalization_ Accelerating Deep Network Training by Reducing Internal Covariate Shift》,心中留有很多疑惑,今天大概弄明白了,这里记录一下。1 训练数据为什么要和测试数据同分布?看看下图,如果我们的网络在左上角的数据训练的,已经找到了两者的分隔面w,如果测试数据是右下角...
原创
22695阅读
7评论
20点赞
发布博客于 3 年前

python 3导入当前目录模块和子目录下模块出错

今天下载一个开源工程,在服务器上运行出错,提示模块导入失败,可是要导入的模块就在当前目录和当前目录的子目录,在我的笔记本上没有发现该问题。后面解决方法就是,需要设置环境变量export PYTHONPATH=/home/dyufei/source/facenet/facenet/src...
原创
2006阅读
0评论
0点赞
发布博客于 3 年前

softmax及交叉熵损失的反向传递推导及实现

一般网络最后一个线性层后面都会跟一个输出层,比如sigmoid,softmax等,其基本做法是将输出Zi取指数再归一化。下面记录一下softmax和交叉熵的反向传递推导。参考博文:https://blog.csdn.net/u014313009/article/details/51045303下面做一个摘录:1. softmax函数及其求导        softmax的函数公式如下:      ...
原创
2539阅读
0评论
1点赞
发布博客于 3 年前

反向传播和计算图

从计算图(computational graph)角度看BP(back propagation)算法,这也是目前各大深度学习框架中用到的,Tensorflow, Theano, CNTK等。参考【1】原文:https://blog.csdn.net/u013527419/article/details/70184690一、通用形式1. 什么是计算图结构 从下图中我们可以清楚地看到 (1)可以将计算...
转载
535阅读
0评论
0点赞
发布博客于 3 年前

ubuntu下源码安装tensorflow

本文参考了这篇博客https://blog.csdn.net/u013832707/article/details/73161071获取源码在安装目录下运行:git clone --recurse-submodules https://github.com/tensorflow/tensorflow其中–recurse-submodules 参数是必须的, 用于获取 TesorFlow 依赖的 p...
转载
159阅读
0评论
0点赞
发布博客于 3 年前

使用python实验pca

pca的基础知识请参考《A TUTORIAL ON PRINCIPAL COMPONENT ANALYSIS》,这里记录一下使用python实现pca实验过程新建一个x向量,参数10为正态分布的标准差,0为均值,100为向量长度x=np.random.normal(0,10,100)新建一个噪声noisenoise=np.random.normal(0,4,100)新建一个yy=5*x+3.3+n...
原创
234阅读
1评论
3点赞
发布博客于 3 年前

keras中fine-tuning的例子

在做活体检测的时候看到这份模型:https://github.com/OeslleLucena/FASNet泛化性能不怎么,但是里面提到了一个fine-tuning的帖子,在这里记录一下https://blog.keras.io/building-powerful-image-classification-models-using-very-little-data.html...
原创
939阅读
0评论
0点赞
发布博客于 3 年前

python3 下安装dlib

我的系统是Ubuntu16.04,电脑里面安装了python2和python3,下面记录一下dlib的python接口安装:下载dlib源码,编译python接口mkdir -p ~/src  cd ~/src tar xf dlib-18.17.tar.bz2  cd dlib-18.16/python_examples  mkdir build  cd build  cmake ../../t...
原创
1431阅读
0评论
0点赞
发布博客于 3 年前

卷积神经网络研究分类

目前卷积神经网络的研究主要在两个方面:1 network structures 神经网络结构的这方面的论文有A. Coates, A. Y. Ng, and H. Lee. An analysis of single-layer networks in unsupervised feature learning. Journal ofMachine Learning Research, 2011....
原创
522阅读
0评论
0点赞
发布博客于 3 年前

神经网络反向传播和学习过程

推导可参考https://www.zhihu.com/question/24827633这里参考大神论文,进行总结记录一下。前向传播可以总结为:后向传播总结可以看下图描述:可以看到,每一层的误差都需要乘以激活函数的导数值,这样网络越深,层误差就越小,E对W的梯度也就越小,浅层的权值参数越难更新。...
原创
190阅读
0评论
0点赞
发布博客于 3 年前

Ubuntu下Matlab r2016b安装摄像头驱动

http://wenku.baidu.com/view/616fa3d9240c844769eaee10.html?re=view在第一步“info=imaqhwinfo”时可能会遇到如下警告:>>imaqhwinfo警告: No Image Acquisition adaptorsfound. Image acquisition adaptors may be available a...
原创
1050阅读
1评论
0点赞
发布博客于 3 年前

ubuntu安装caffe

Caffe已经是第三次安装配置了,为什么是第三次呢?因为我实在是低估了深度学习对于硬件的要求。第一次我在自己笔记本上配置的单核,CPU only ...  结果是,样例数据跑了4小时,这还怎么玩?第二次在台式机上,因为台式机比较low,I5处理器4核,没有NVIDIA的GPU。我把别人训练好的模型下载下来,然后自己测试,发现真的成功了,心里小激动~ 然而,当我自己训练模型时,我训练7天..... 
转载
1770阅读
0评论
1点赞
发布博客于 3 年前

最小二乘法与投影

作者:阿狸链接:https://www.zhihu.com/question/37031188/answer/111336809来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。最小二乘法(Least Squares Method,简记为LSE)是一个比较古老的方法,源于天文学和测地学上的应用需要。在早期数理统计方法的发展中,这两门科学起了很大的
转载
1661阅读
0评论
0点赞
发布博客于 3 年前

基于频率分量的概率分布人脸质量评价

原著:《Patch-based Probabilistic Image Quality Assessment for Face Selection and Improved Video-based Face 》这篇论文主要思想是将人脸分成许多8×8的小block,作者认为每个block代表脸上不同部分,分别提取block的前三个交流分量,然后在feret的fa标准人脸上进行统计出均值和协方差,然后
原创
968阅读
0评论
0点赞
发布博客于 3 年前

ubuntu因为NVIDIA显卡驱动无法启动修复方法

1,进入了grub启动界面后选择“高级选项”2,选择 “boot”,在命令行里面卸载nvidia驱动“sudo apt-get -remove nvidia* ”3,重启,应该就可以进入系统了!
原创
13100阅读
3评论
1点赞
发布博客于 3 年前

YUV和YCrCb差异

最近在研究camera的驱动,经常会看到camera IC输出格式为RGB,YUV/YCrCb,我非常不明白的一个概念就是YUV和YCrCb到底有什么区别?或者说他们是否是同一个概念,只是别名不同而已,因此我在网上搜索了很久,终于得到了一个比较满意的答案。原文地址:http://forum.eepw.com.cn/thread/84775/1问题1:什么是YUV?问
转载
3632阅读
0评论
1点赞
发布博客于 3 年前

OpenCV使用FileStorage保存Mat数据

在OpenCV2.0以后的版本中,加入了对C++的支持,大大减少了程序代码量,方便了程序编写,也更符合现代编程思想。在视觉处理过程中,往往需要保存中间数据。这些数据的数据类型往往并不是整数。OpenCV的C++接口中,用于保存图像的imwrite只能保存整数数据,且需作为图像格式。当需要保存浮点数据或XML/YML文件时,OpenCV的C语言接口提供了cvSave函数,
转载
1808阅读
0评论
1点赞
发布博客于 3 年前

多维正态分布与图形识别

版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[-]多维正态分布与图形识别目录写在前面从图形识别的角度对正态分布的理解什么是正态分布一维正态分布下的识别与匹配二维正态分布下的识别与匹配多维正态分布一个图形匹配实际问题写在后面多维正态分布与图形识别对一维,二维,多维正态分布的理解从图形识别角度
转载
829阅读
1评论
0点赞
发布博客于 3 年前

基于边缘宽度的图像清晰度检测

论文:《基于强边缘宽度直方图的图像清晰度指标.pdf》实现:#include #include #define mydebug#define testusing namespace cv;namespace ImageUtil {float getImageQuality_patchbased(cv::Mat& m,int patchsize,int overlap
原创
2291阅读
3评论
1点赞
发布博客于 3 年前

Failed to resolve:com.android.support:appcompat-v7:报错处理

你在使用android studio时是否也出现过上图的报错,你还在为它的出现烦恼?没问题,看了本文章,我确保你会顺利解决掉它并会很骄傲的认为这只是一个小case级别的报错。我们进入正题吧,先来说下什么时候会出现这种错误:1.当你在用别的电脑上的android studio编写一个项目时,然后copy下来,又在自己电脑上的android studio 上导入该项目时会报错(两台电脑上安装的
转载
622阅读
0评论
0点赞
发布博客于 4 年前

c++类的模板成员函数申明和实现必须放在一起

解释如下:C++中每一个对象所占用的空间大小,是在编译的时候就确定的,在模板类没有真正的被使用之前,编译器是无法知道,模板类中使用模板类型的对象的所占用的空间的大小的。只有模板被真正使用的时候,编译器才知道,模板套用的是什么类型,应该分配多少空间。这也就是模板类为什么只是称之为模板,而不是泛型的缘故。既然是在编译的时候,根据套用的不同类型进行编译,那么,套用不同类型的模板类实际上就是两
原创
5066阅读
3评论
2点赞
发布博客于 4 年前

boost构造和解析json

构造json代码实例:void asynDBCenter::isGetActorInfoEx(void* on_process, const char* arg){ std::stringstream ros(arg); boost::property_tree::ptree pt; boost::property_tree::read_json(ros, pt);
转载
453阅读
0评论
0点赞
发布博客于 4 年前

android ndk开发SIGSEGV错误

最近进行ndk开发,偶尔会报Fatal signal 11(SIGSEGV),这个问题非常诡异,诡异就在偶然出现,并且在不同的地方。查看日志发现都是内存malloc,free方面的错误,有opencv中的,有对std::vector进入插入分配内存引发的,有在jni函数中获取数组指针发生的,真的是让人摸不着头脑:最终发现并不程序本身的问题。问题是heap size的限制,因为我
原创
1500阅读
0评论
0点赞
发布博客于 4 年前

opencv从多边形创建mask

经常需要对图像的某一部分进行操作,这就牵涉到怎么遍历这一部分,最直接的方法就是创建一个mask图像,目标区域为255,非目标区域为0。这里主要介绍一种从多边形创建mask的方法。下面上代码:/** create_mask.cpp** Author:* Siddharth Kherada ** This tutorial demonstrates how to make ma
原创
2794阅读
0评论
0点赞
发布博客于 4 年前

qtcreator下cmake工程交叉编译及远程部署环境搭建

1 安装目标开发板对应的交叉编译器。首先,在开发板上使用下面命令查看cpu硬件架构:uname -a我的显示有aarch64字样,即我的开发板为armv8a-aarch64架构。接下来在开发电脑上使用下面命令来安装c和c++编译器:sudo apt-get install gcc-aarch64-linux-gnusudo apt-get install g++-aarch64-li
原创
1988阅读
0评论
1点赞
发布博客于 4 年前

c++中静态字符串常量定义方法

写过c#或则java的知道可以在类中定义静态或自读的字符串常量,但是在c++里面实现方法不一样,在c++的头文件里面直接:static const std::string CONST="str";这样是无法编译通过的,c++只允许像int类型的静态变量直接在头文件里面初始化,像string这种类型必须要在实现文件里面这样初始化:const std::string A::CONST("str
原创
7901阅读
0评论
1点赞
发布博客于 4 年前

linux c++ 循环消息队列写法

很多场合,我们需要一个循环消息处理模式,一个线程产生消息,一个线程进行处理。产生消息的线程就不用阻塞了,可以用了干其他的事情了。常见串口或者网络通信,负责解析字节流的线程将消息初步解析然后放置到一个消息队列里面,处理线程负责循环取出消息队列里面的消息进行相应的动作。下面是一在liunx下一个基本实现框架:typedef struct Message{ char * msg; char *
原创
1918阅读
1评论
0点赞
发布博客于 4 年前

meanshift跟踪算法

opencv meanshift给定任意一组观测数据或数据采样值,估计出样本的分布。无参数密度估计,它对数据分布规律没有附加任何假设,而是直接从数据样本本身出发研究数据分布特征,对先验知识要求最少,完全依靠训练数据进行估计,而且能处理任意的概率分布。例如:直方图法,最近邻域法,核密度估计方法。有参数密度估计:高斯统计模型。更形象的说明:已经有N
原创
1040阅读
0评论
0点赞
发布博客于 4 年前

ubuntu常用工具记录

1 局域网传文件工具 dukto,也有window和mac端非常方便。2 画图工具kolourpaint,类似window中的画图工具,安装方法:sudo apt-get install kolourpaint43 gif动态图制作工具byzanz,安装方式:sudo apt-get install byzanz使用方式,byzanz-record命令行,--help可以查看帮
原创
221阅读
0评论
0点赞
发布博客于 4 年前

dlib人脸对齐源码详解

一般的人脸识别应用通常都包括三个过程:1 人脸detect,这一步主要是定位人脸在图像中的位置,输出人脸的位置矩形框2 人脸shape predictor,这一步主要是找出眼睛眉毛鼻子嘴巴的68个定位点3 人脸对齐alignment,这一步主要是通过投影几何变换出一张标准脸4 人脸识别,这一步主要在对齐的人脸图像上提取128维的特征向量,根据特征向量间的距离来进行判断识别。
原创
6178阅读
1评论
3点赞
发布博客于 4 年前

Dlib人脸识别加速

Dlib人脸特征点检测(速度优化)
转载
5632阅读
2评论
1点赞
发布博客于 4 年前

Dlib源码解析之一 matrix和array2d和image_view

image_view解析之前使用dlib中load_image方法读取图像的时候,发现参数用matrix和array2d都是可以的。使用matrix来表示图像: matrix img; load_image(img, argv[1]);使用array2d来表示图像: array2d img; load_image(img, argv[i]);
原创
2684阅读
0评论
1点赞
发布博客于 4 年前

图像DCT变换

DCT变换、DCT反变换、分块DCT变换原文 http://www.cnblogs.com/lzhen/p/3947600.html一、引言       DCT变换的全称是离散余弦变换(Discrete Cosine Transform),主要用于将数据或图像的压缩,能够将空域的信号转换到频域上,具有良好的去相关性的性能。DCT变换本身是无损的,但是在图像编码等领域给接
转载
14073阅读
1评论
11点赞
发布博客于 4 年前

opencv hog源码解析

最近在看论文《Histograms of Oriented Gradients for Human Detection》,是05年提出来的,opencv中对应的实现源码放在modules/objdetect/srchog.cpp里。在这里做个记录。首先说一下最基本的流程,如下图(原图http://www.cnblogs.com/tornadomeet/archive/2012/08/15/26
原创
292阅读
0评论
1点赞
发布博客于 4 年前

Spatial Pyramid Matching

最近在看《Beyond Bags of Features: Spatial Pyramid Matching for Recognizing Natural Scene Categories》,做一点研究记录。一般如果之前没有这方面的基础,直接看英文原著非常难懂,因为作者写这篇文章有很多基础性知识。个人的一个经验是先国内搜一下这方面的中文资料,有了基本认识后再对照着原著看。首先了解一下BO
原创
2156阅读
0评论
0点赞
发布博客于 4 年前

PubFig人脸数据库下载器

vs源码。控制台应用程序,命令参数dev_urls.txt 路径。
rar
发布资源于 4 年前

Qt5在ubuntu16.04无法输入中文解决方式

1 首先安装安装fcitx-frontend-qt5sudo apt-get install fcitx-frontend-qt52 去下面目录找到该动态库文件。/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/libfcitxplatforminputcontextplugin.so3 将该文件拷贝到下面两个目录中,然后重启电
原创
281阅读
0评论
0点赞
发布博客于 4 年前

Chinese Whispers 聚类算法

Chinese Whispers 聚类算法用于当你不知道有多少个类时。他的基本算法步骤是:1,对于所有节点v,都赋值一个初始的类class(vi)=i2,随机选取一个节点vt,找到v所有的临接节点,对临接节点所属的类进行打分。例如一个节点1的临接节点有2,3,4,5,分别属于a,b,c,b类别,边1-2,1-3,1-4,1-5的权值都为1,那么类a的得分就是1,类b得分2,类c得分13
原创
2264阅读
0评论
0点赞
发布博客于 4 年前

opencv2.4 arm64-8a so和cmake文件

opencv的Android sdk官方没有提供armv8下的二进制包。这个是我编译出来的arm64-v8a so文件。供有需要的网友使用。
gz
发布资源于 4 年前

Android上编译opencv arm64-v8a

官方的opencv sdk for android 没有提供arm64-v8a平台下的二进制so,因此需要自己编译。编译方法如下:1 打开终端,运行 (注意将ndk路径改为你自己ndk路径) export ANDROID_NDK=~/program/android-ndk-r15c/2 到github上下载opencv源码,解压,在同级建立build目录,进入build目录,运行(记得
原创
3535阅读
1评论
1点赞
发布博客于 4 年前

OpenCV中mat内存管理

OpenCV中大部分对象都像被std::share_ptr包装过的行为一样,你不需要自己手动释放资源。同标准库的智能指针一样,你不需要自己去手动删除指针,也许对于被智能指针管理的对象,根本就不建议你直接使用指针。所有的对象都应该建立在栈上,使用 Object obj;的方式获得对象,而不应该使用Object* pobj=new Object();你自己的类中需要保存被智能指针管理的对象,你直接
原创
1504阅读
0评论
0点赞
发布博客于 4 年前

cmake项目引入dlib方法

1 首先到http://dlib.net/官网下载源码,编译:cd dlibmkdir buildcd buildcmake ..cmake --build . --config Release编译后应该会得到静态库和动态库libdlib.so  libdlib.a安装:make install2 使用,这是我的cmakelist,文件这是使用find_
原创
4626阅读
2评论
3点赞
发布博客于 4 年前

numpy中axis理解

numpy库中有些函数有个参数axis,像ndarray.max()等,ndarray 其实就是一个多维数组,比python 内建的list多了一些对多维数组的操纵方法。如果一个多维数组是2*3*2,他就是3维的,参数axis=0指的就是第一维,即2那一个数轴,axis=1,即3的那个数轴,axis=2,即最后2的那个数轴。程序段import numpy as npnp.random.
原创
11710阅读
1评论
4点赞
发布博客于 4 年前

c# 不规则透明窗体

在window下用c#进行窗体编程的时候,经常会遇到实现非规则半透明窗体的的情况,window下有一种特别的窗体式样LayeredWindow 船体,它是支持任意不规则半透明窗体的,不过所有的东西都需要自己用绘图接口进行绘制,现成的控件库不能用,自己处理所有的交互,代码量比较大。在普通的winform有一个transparentkey属性,支持指定颜色的透明,如果把这两个窗体叠加起来了,就可以既支
原创
607阅读
0评论
0点赞
发布博客于 4 年前

c#不规则透明窗体

c#不规则透明窗体。具体使用效果及使用文档请参考我的博客。
rar
发布资源于 4 年前

c++多态,回调,和策略模式

熟悉高级语言像c#的人应该都知道,c#中有事件的机制,qt有信号槽的机制,设想我们有个简单的任务,窗口上一个按钮,按钮内部是一个button类,我们用鼠标点击一下他,他会发出一个鼠标点击的通知,我们需要在这个通知里面做一些自己的事情。我大概总结了三种方法。1 多态这是最一般的方法,继承button,利用多态性质覆盖button中鼠标点击的虚方法,在虚方法里面写自己的代码即可。2 回
原创
249阅读
0评论
0点赞
发布博客于 4 年前

监控系统的一般架构之二串行数据流接口

数据流接口是监控系统的的底层通讯抽象,良好的设计应当可以隔离具体的通信方式,不管你是用udp,tcp,串口还是其他的方式,只要能够实现基本的该串行数据流接口就可以了。下面是一般的串行数据流接口总结 public interface ICommsSerial { // 公共方法 void Close(); void DiscardInBuf
原创
236阅读
0评论
0点赞
发布博客于 4 年前

mt9v034相机ros驱动包

mt9v034高速相机的ros下驱动,用cysub编写,跟ros中标准相机驱动兼容,代码库请见github:https://github.com/wayen820/mt9v034_ros_driver
原创
1484阅读
1评论
0点赞
发布博客于 4 年前

c#环形缓冲区

public class CircularBuffer : ICollection, IEnumerable, ICollection, IEnumerable { private int capacity; volatile private int size; volatile private int head;//头,指示读数据位置
原创
1400阅读
0评论
0点赞
发布博客于 4 年前

监控系统的一般架构

几年以来,个人对监控系统的接触比较多,像电力scada系统,自动化设备的上位机系统,无人机地面站等,到后来独立开发监控系统,慢慢的形成了自己对监控系统通用实现的一种理解。其实做这行软件开发的也都有一个架构上的共识。这篇文字总结一下监控系统的通用实现,也可以说得上是架构吧。 监控系统首先需要设计的就是通信规约,通信规约定义设备和监控系统的对话方式。设备和系统的通信是以一包包数据为最小单元来通
原创
7964阅读
0评论
3点赞
发布博客于 4 年前

导入代码到github库

首先,登录github网站将你的项目建好。接下来,转到你的代码目录,运行下面命令echo "# visual_tracker_ros" >> README.mdgit initgit add README.mdgit commit -m "first commit"git remote add origin git@github.com:wayen820/visual_tracke
原创
182阅读
0评论
0点赞
发布博客于 4 年前

boost 中ref用法经验

boost库中ref用于包装一个对象,使其看起来像别名一样。考虑到有下面一个模板函数:templatevoid print(T a){ for(int i=0;i<2;++i) { boost::unwrap_ref(a).print(); }}这个函数假设是库函数,你要调用他但是不想要以拷贝T的方式来传参数,这时候你用boost::ref来包
原创
1155阅读
0评论
0点赞
发布博客于 4 年前

qtcreator 调试ros程序,附加到进程无法使用解决方法

临时的解决方法:echo 0 | sudo tee /proc/sys/kernel/yama/ptrace_scope永久的解决方法:编辑  /etc/sysctl.d/10-ptrace.conf 改变下面行kernel.yama.ptrace_scope = 1为kernel.yama.ptrace_scope = 0
原创
1038阅读
0评论
0点赞
发布博客于 4 年前

c++之回调实现方式

很多时候,我们需要提供一个类,这个类用来发出事件,通知程序中其他的组件进行处理,这可以通过回调来实现,下面是比较优雅的实现:#include#includeusing namespace boost;class serialwraper{public: typedef boost::function CallBack; void RegisterCallBack
原创
242阅读
0评论
0点赞
发布博客于 4 年前

mavros使用经验记录二

项目是一个无人机视觉追踪功能,无人机上的协从计算机通过串口连接到飞控的tel2,接收mavlink消息流,协计算机将此mavlink流进行udp转发到地面站,同时协计算机实时的进行图像处理,将追踪的结果也通过mavlink包发送到飞控中。这样的设计可以很好的同地面站协同。下面是我的mavros启动文件:
原创
2785阅读
0评论
1点赞
发布博客于 4 年前

ros catkin_make 出现add_custom_target cannot create target 错误

今天用catkin_make编译ros包出现如下错误:CMake Error at /home/liwei/work/catkin_ws_land/build/mycommbase/cmake/mycommbase-genmsg.cmake:250 (add_custom_target): add_custom_target cannot create target "mycommba
原创
3642阅读
1评论
0点赞
发布博客于 4 年前

c++中几个段错误调试记录

1  线程中调用一个外部函数出现 段错误,但是在主线程中却正常解决方法:将该线程的stack_size设置大一点,因为外部函数可能需要的内存资源比较多,默认的stack_size不够设置方法如下: bool start(void*(*thread_proc)(void*),void* arg,size_t stack_size=16*1024){ pthread_
原创
1365阅读
0评论
0点赞
发布博客于 4 年前

mavros 使用经验记录

我用的飞控硬件板是pixhawk,用missionplanner刷的fight stack是apm的最新版本3.4。amp对mavros支持不是特别好,如果合适还是用px4的flight stack 比较好,没那么折腾。在使用mavros之前,需要对飞控进行一些基本的设置,可以参考这位兄弟的文章:http://blog.csdn.net/iracer/article/details/5
原创
8942阅读
1评论
3点赞
发布博客于 4 年前

catkin_make 输出的exe文件放在了build目录,导致rosrun 找不到

解决方法:在cmakelist.txt 的find_pakage()  后加入catkin_package()  该语句会定义变量CATKIN_PACKAGE_LIB_DESTINATION  CATKIN_PACKAGE_LIB_DESTINATION  CATKIN_PACKAGE_BIN_DESTINATION,会用于设置输出等目录
原创
1607阅读
0评论
0点赞
发布博客于 4 年前

apt-get update 失败,提示binary-arm64/Packages 404 Not Found 失败解决方法

今天给jetsont tx1刷机,刷玩后发现apt-get update 失败了。提示一些 arm包获取失败:E: 无法下载 http://mirrors.163.com/ubuntu/dists/trusty/main/binary-arm64/Packages  404  Not Found [IP: 123.58.173.185 80]E: 无法下载 http://archive.u
原创
5400阅读
7评论
5点赞
发布博客于 4 年前

jetson tx1 上安装固态硬盘,并设置从硬盘启动方法

BackgroundSATA drives are used in many desktop and laptop computers. While this article describes installing aSolid State Disk, this information can be used to install other types of SATA drives
原创
1914阅读
1评论
0点赞
发布博客于 4 年前

Jetson tx1 下编译ros zed 驱动报错

使用的是16.04 ubuntu ,刷机完成后按照官网编译zed_wraper ,报错:CMake Error at zed-ros-wrapper-master/CMakeLists.txt:22 (find_package):  Could not find a configuration file for package "OpenCV" that is compatible 
原创
260阅读
0评论
0点赞
发布博客于 4 年前

ubuntu 16.04 国内镜像源配置文件sources.list

##########  new   #######deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main universe restricteddeb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main universe restricteddeb h
原创
3814阅读
1评论
0点赞
发布博客于 4 年前

jetson tx1 上运行sudo rosdep init失败解决方法

jetson tx1按照kinetic ros时,到sudo rosdep init 时提示:ERROR: cannot download default sources list from:https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.listWebsit
原创
894阅读
1评论
0点赞
发布博客于 4 年前

ros小车调试经验2

今天,困扰多时的跑navigation stack 的ros小车走S 曲线问题终于解决了!最后原因居然是,网速太卡了,简直是日了狗了!情况是这样的,我的小车上一块odroid(相当于树莓派)的板,跑基本驱动节点,笔记本上跑move_base等规划节点,树莓派通过那种usb的无线网卡做热点,笔记本连上。跑目标的时候,move_base偶尔有报控制超时,costmap 超时,我的control fre
原创
4001阅读
0评论
5点赞
发布博客于 4 年前

winform 项目调用wpf窗口 winform窗口式样发生改变问题

winform项目需要调用wpf窗口,按照的是http://jingyan.baidu.com/article/3aed632e663387701080910d.html上教程操作。一切正常,但是在有些电脑上弹出wpf窗口会导致原form缩小,查了好多资料无法解决,简直日了狗了!想想应该是调用wpf窗口改变了原程序窗体的style,或者是winform程序启动时应用的style跟wpf设置的sty
原创
1774阅读
2评论
1点赞
发布博客于 4 年前

ubuntu 下ifconfig 没有出现eth0 解决方法

现象:使用ifconfig 打印出来的只有lo,没有eth0;使用ifconfig -a 才有eth0解决方法:这是/etc/network/interfaces 文件没有配置对,需要加上 auto eth0,下面是interfaces文件示范:# interfaces(5) file used by ifup(8) and ifdown(8)# Include files
原创
7940阅读
0评论
0点赞
发布博客于 4 年前

ros kinetic 下编译laser_scan_matcher 方法

目前,laser_scan_matcher 在kinetic下还没有可以apt-get 的包,要使用,必须要从源码编译,下面是我的编译方法:1、sudo apt-get install libgsl0-dev2、first install the package csm itself in directory /catkin_ws/src: git clone http
原创
2738阅读
5评论
0点赞
发布博客于 4 年前

gcc 编译出现 internal compiler error: Killed

gcc 编译出现 internal compiler error: Killed2013/05/11 BY 虚伪的灵魂·internal compiler error: Killed (program cc1plus)在 640M 内存的 vps 做编译的时候出现了上述错误.几经搜索, 才发可能是系统没有交换分区, 编译过程中内存耗尽, 导致了编译中断 …解决方式也很简
转载
16983阅读
1评论
1点赞
发布博客于 4 年前

树莓派配置wifi做热点方法

http://wiki.jikexueyuan.com/project/raspberry-pi/wifi.html
转载
3920阅读
0评论
0点赞
发布博客于 4 年前

mpu6050 报错fifo overflow解决办法

最近ros计划介入imu消息,使用arduino 接口mpu6050,再通过串口介入ros。使用的是https://github.com/fsteinhardt/mpu6050_serial_to_imu中的开源代码。调试的时候一切都很顺利,但后来发现过一段时间就不发消息利,arduino程序报fifo overflow,后续卡死;找到的解决方法是;将arduino库中的头文件MPU6050_6A
原创
2766阅读
3评论
1点赞
发布博客于 4 年前

asus pro live 安装记录

计划在ros kinetic 下使用asus pro live,asus pro live 使用的是openni2 SDK,先在https://structure.io/openni中下载相应版本的openni2SDK,解压后运行目录中的./install.sh;看到产生了一个primesense-usb.rules文件,将他复制到/etc/udev/rules.d/目录下。接着就可以运行Samp
原创
260阅读
0评论
0点赞
发布博客于 4 年前

ros小车调试笔记1

一直用qrcreator开发ros项目,在qtcreator中直接打开catkin_workspace中src中的cmakelist即可,将buid目录设置到workspace中build,config即可,debug版本记得将CMAKE_BUILD_TYPE参数设在为Debug。今天不知道神码操作导致devel目录被qtcreator定位到了build/devel下了,这样会导致各种节点都找不到
原创
852阅读
0评论
0点赞
发布博客于 4 年前

MissionPlanner编程框架

在做无人机主站时,面临利用mavlink协议进行串行通信;总体上来说,主站一方面需要实时的知道设备的当前运行数据,一方面又要可以发送命令到设备和进行一些参数查询交互,为了达到这种特殊的要求,参考mavlink协议,可以通过设备主动向主站不停的发送心跳包,心跳包中包括当前设备状态,如位置、转速、角度等参数。具体来说,主站编程思路是:1、定义消息。2、定义设备类。设备类中包含设备的状态数据
原创
3362阅读
0评论
1点赞
发布博客于 4 年前