自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Opencv学习<1>:安装Linux opencv及基本使用

OPENCV: OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。它用C++语言编写,它的主要接口也是...

2019-11-20 15:50:47 286

转载 日常笔记(5):Linux安装使用C++ JSON

安装Json库1、下载JsonCpphttp://sourceforge.net/projects/jsoncpp/files/2、下载sconshttp://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz/download3、解压scons-2.1.0.tar.gztar -zvxf ...

2019-11-20 15:18:56 233

原创 日常笔记(4):Linux更新提示ros package存储库未更新

这段时间在调试ROS数据融合相关问题,在下载sudo apt-get install ros-kinetic-bfl包是提示Err:1 http://packages.ros.org/ros/ubuntu xenial/main amd64 ros-kinetic-bfl amd64 0.7.0-2xenial-20180809-134309-0800 404 Not Found...

2019-06-21 10:57:50 1092 4

原创 日常笔记(3):数据结构,字节对齐

如下:struct s {int i;char ch;};通过 sizeof算出的大小为 8 ,而实际是 : int 4个字节,char 一个字节,共5个字节。 为什么会是8个字节内,一般机器是以4个字节进行寻址,所以编译器为了让程序跑得跟快,减少CPU读取数据的指令周期,对结构体的存储进行了优化。实际上第一个char型成员虽然本来只有1个字节,但实际上却占用掉了4个字节,为的...

2019-06-13 22:41:59 488

原创 日常笔记(2):无法找到launch文件,并报错

今天我把工程重新封装后,进行测试时,用已有的launch文件进行测试,出现错误(launch文件之前写好的,没有测),错误log如下:Invalid roslaunch XML syntax: mismatched tag: line 7, column 6The traceback for the exception was written to the log file嗯,...

2019-06-12 15:45:15 3330 2

原创 Linux C++:Struct与Class

在我最开始学习c和Java的时候,我认为struct用来存储数据的,里面可以是各种类型的数据,函数指针等,而class作为对象,使用对象获取成员,可以是各种类型数据,也可以是各种方法等。而在c++中,struct与Class的用法是那么的相同,有时让人看的模糊不清,难以区分。那好吧,让我们来看看它们的相同之处和不同之处吧。 c++作为c的升级版本,其扩充了很多用法,但又兼容c。Cl...

2019-06-05 10:50:52 334

原创 ROS基础:获取全局与局部launch Parameter

在launch 参数配置中,分为有全局参数和局部参数(私有参数),两者参数的获取是不同的,参数示例如下:<launch> <!-- 全局参数 --> <param name="param1" value="1"/> <param name="param2" type="string" value="Hello param...

2019-06-01 16:21:26 587 2

原创 日常笔记(1):Ubuntu系统固定USB设备节点名

在使用usb时,Ubuntu系统注册设备节点是从ttyUSB0开始,然后是ttyUSB1、2 、3...,多个usb接口,先插入设备的分配为ttyUSB0,后面插入的设备依次注册设备节点。但是我们使用串口通信时是固定的设备节点名,因此我们无法保证我们的设备节点是否被其他设备注册了。所以固定usb接口对应的设备节点名是很重要的。操作步骤:命令终端输入:lsusb ...

2019-05-31 13:52:53 1385

转载 时间复杂度与空间复杂度通俗简介

在编程中,一个好的算法的优劣判断,可以从它的时间复杂度和空间复杂度两个方面进行评估。理论详解:https://blog.csdn.net/zolalad/article/details/11848739示例详解:https://blog.csdn.net/HaloTrriger/article/details/78994122...

2019-05-24 14:29:38 164

原创 Linux C++:网络编程

以前学C语言时学过,现在学C++时可以复习,重新巩固下基础知识。什么是套接字: TCP用主机的IP地址加上主机上的端口号作为TCP连接的端点,这种端点就叫做套接字(socket)或插口。套接字用(IP地址:端口号)表示。套接字分类:流式套接字(SOCK_STREAM):流式套接字用于提供面向连接、可靠的数据传输服务。该服务将保证数据能够实现无差错、无重复发送,并按顺序接...

2019-05-23 16:08:12 332

原创 ROS基础:指令

复习并重新巩固ROS基础知识。1.ROS shell命令2.ROS Node命令3.ROS Topic 相关命令4.ROS Service 相关命令5.ROS Param 相关命令6.ROS Srv相关命令7.ROS Bag 相关命令rosbag是一个实现生成、播放和压缩等功能的程 序,它具有以下几种功能。8.ROS catki...

2019-05-18 18:29:34 465

原创 Linux C++:栈、队列、链表

在学习数据结构中,栈、队列、链表是几个比较重要的学习点。如何让数据有序的存储呢,但是在这之前那我们得先学习一些储备知识,那样才会让我们更好的往下学习。程序内存分配(基础知识)栈(stack): 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 其操作如往箱子里面放衣服一样,只有一个出口,后进先出。 堆(heap):一般由程序员分配释放, ...

2019-05-17 14:19:01 508

原创 Linux C++:多线程-互斥锁

以前学过c的多线程任务和锁一些相关知识,由于工作原因做Android去了,很多东西也都忘记的差不多了,现在趁学C++时来重新回顾复习一些,因为C++是C的加强版很多东西都是兼容的,因此学起来也比较容易。多线程:多线程是多任务处理的一种特殊形式,多任务处理允许让电脑同时运行两个或两个以上的程序。一般情况下,两种类型的多任务处理:基于进程和基于线程。基于进程的多任务处理是程序的并发执...

2019-05-16 15:38:05 1540

原创 Linux C/C++:进程

什么是进程:进程是系统中正在运行的一个程序,程序一旦运行就是进程。进程与线程之间的区别:地址空间:同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间。 资源拥有:同一进程内的线程共享本进程的资源如内存、I/O、cpu等,但是进程之间的资源是独立的。 执行过程:每个独立的进程程有一个程序运行的入口、顺序执行序列和程序入口。但是线程不能独立执行,必须依存在应用程序中,由应用程...

2019-05-15 17:38:11 189

原创 Linux C/C++:IPC通信

进程间通信(IPC,Inter-Process Communication),指至少两个进程或线程间传送数据或信号的一些技术或方法。进程是计算机系统分配资源的最小单位(严格说来是线程)。每个进程都有自己的一部分独立的系统资源,彼此是隔离的。为了能使不同的进程互相访问资源并进行协调工作,才有了进程间通信。举一个典型的例子,使用进程间通信的两个应用可以被分类为客户端和服务器,客户端进程请求数据,服务端...

2019-05-15 15:20:51 2459

原创 Linux C++:标准IO&文件IO

以前学C语言的时候学习过标准IO和文件IO,现在再来复习整理下,并学习下c++的IO。1.什么是标准IO: 标准I/O是ANSI C建立的一个标准I/O模型,是一个标准函数包和stdio.h头文件中的定义,具有一定的可移植性。标准IO库处理很多细节。例如缓存分配,以优化长度执行IO等。标准的IO提供了三种类型的缓存。(1)全缓存:当填满标准IO缓存后才进行实际的IO操作。 (...

2019-05-14 16:31:11 603

原创 Linux C++:多态(虚函数和纯虚函数)

多态:按字面的意思就是多种形态。当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态。C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数。 定义:在某基类中声明为 virtual 并在一个或多个派生类中被重新定义的成员函数,用法格式为:virtual 函数返回类型 函数名(参数表) {函数体};实现多态性,通过指向派生类的基类指针或引用,访问派...

2019-05-13 16:32:23 405

原创 Linux C++:Boost-asio 串口通信编译测试

Boost.Asio是用于网络和低层IO编程的跨平台C++库,为开发者提供了C++环境下稳定的异步模型.今天我学习一下利用它完成一个简单的串口通信。示例如下:Boos_test.cpp#include <iostream>#include <boost/asio.hpp>#include <unsitd.h>using namespace...

2019-05-07 11:12:26 1116

原创 机器人Urdf模型

urdf(统一机器人描述格式)是ROS中一个重要的机器人描述格式,ROS同时也提供urdf文件的c++解析器,可以解析urdf文件中使用的XML格式描述的机器人模型。 <link>标签使用于描述机器人某个部件部分的外观和物理属性,包括尺寸(size)、颜色(color)、形状(shape)、惯性矩阵(inertial matrix)、碰撞参数(collisio...

2019-04-29 10:54:54 4316

转载 程序员一年工作经验,重复用十年,高效学习很重要

IT 行业是一个变化非常快的行业,它需要我们持续去学习新的知识和技能。 但是,工作以后,我们经常会发现自己学习的东西很少了,倒不是没有时间去学习, 而是学习的效率太低了。久而久之,就演变成『一年的工作经验,重复用十年』。当然,有些人会说自己经常加班,没有时间学习,这只是表象,时间挤挤总是有的。 你想想你为了上王者,浪费了多少时间?为了刷今日头条,又消磨了多少光阴?另外,很多人推崇碎片化学习...

2019-04-20 15:43:04 224

原创 Ubuntu 16.04 安装vscode最直接方法

通过命令终端下载vscode网上方法五花八门,最直接的方法就是如下:官网下载地址 下载deb安装包https://code.visualstudio.com/Download下载deb 32或64位(根据自己的配置下)下载完后点击文件直接安装就OK了...

2019-03-31 16:37:01 1374

原创 机器人开发之导航-Navigation(个人笔记)

机器人地盘开发除了SLAM这个重要得点,另一个就是Navigation自主避障导航了。在学习机器人开发时,会遇到很多不懂得地方,特别是算法方面,这让没有数学功底得同学学起来非常困难。因此相关得算法也是要去学习一二啦,至少知道是怎么回事,那样学习起来才会知其所以然,越学越有意思,还可以自己做机器人,多好!好啦,开始我的学习之旅。 机器人Navigation 让机器人学会自己正确的...

2019-03-26 20:59:03 986

原创 初探DSO-SLAM并运行dso_ros

最近在做SLAM相关的工作,用思岚的A2激光雷达在turtlebot3上测试SLAM建图效果,感觉还是不错的。由于项目在方案上还没有确定选择哪种作为SLAM的最终方案,在我测试奥比中光ASTRA mini 3D摄像头,看看在构建地图上有什么优势。所以在查询资料中我看到了DSO,感觉DSO还是比较简单的,使用的稀疏直接法,虽然遇到过很多坑,但最终还是一一的解决了。DSO(Direct...

2019-03-15 17:48:16 5560 17

原创 初识SLAM

SLAM (simultaneous localization and mapping),也称为CML (Concurrent Mapping and Localization), 即时定位与地图构建,或并发建图与定位。问题可以描述为:机器人在未知环境中从一个未知位置开始移动,在移动过程中根据位置估计和传感器数据进行自身定位,同时建造增量式地图。机器人SLAM系统一般具有两种形式:基...

2019-03-15 15:48:56 613

转载 AMCL相关知识

看了很多资料,讲amcl用法的很多,原理和概念能说清的很少,大都是一带而过稀里糊涂。这里,先把概念区分开来,后面将对原理进行讲解。1,粒子滤波和蒙特卡洛蒙特卡洛:是一种思想或方法。举例:一个矩形里面有个不规则形状,怎么计算不规则形状的面积?不好算。但我们可以近似。拿一堆豆子,均匀的撒在矩形上,然后统计不规则形状里的豆子的个数和剩余地方的豆子个数。矩形面积知道的呀,所以就通过估计得到了...

2019-03-02 16:34:11 688 1

原创 Ubuntu python serial串口通信一次性读完数据dome

  串口通信中,在大数据的收发时,不管Android 还是Ubuntu系统,在读取数据时都会有一段延时,分多次接收,但是时间间隔会很短,所以我们可以利用这间隔时间一次性接收完所以数据,今天在用python测试串口时写的一个小dome分享给各位。  import serialimport osimport sysimport reimport timedef read_line()...

2018-11-30 14:58:53 1916 1

原创 Ubuntu 16.04 安装python3.6并设置为默认

   最近在学习python,要想学好一门语言,好的编程环境就是成就大神的第一步,所以学会安装搭建python编程环境是必修功课。新手上路!有什么错误的请各位大神指点,谢谢。Step1:如果没有安装python相关依赖的可以安装下sudo apt-get install openssl    sudo apt-get install libssl-dev  sudo apt-get i...

2018-11-28 11:09:54 1679 1

原创 Pyhthon Http Request请求出现Caused by SSLError错误

访问https请求时,报出SSl认证失败:(Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:833)'),)等错误解决方法:方法一:查看python 版本, Ubuntu 默认版本为 python2.7 和 python3.5 ,可以升级...

2018-11-28 10:44:19 1554

转载 NameError: name 'unicode' is not defined

There is no such name in Python 3, no. You are trying to run Python 2 code in Python 3. In Python 3, unicode has been renamed to str.简单来说就是: Python2 的unicode 函数在 Python3 中被命名为 str。在 Python3 中使用 ·str...

2018-11-21 16:35:47 532

原创 Android studio 添加 try {} catch 另一快速方法!

  Android studio 快速添加 try{}catch ,网上一搜索都是Ctrl + Alt + t 的方法,今天我给大家讲解另一种快速的法发,废话不多说直接上图更直接!当你的代码块有 Unhandled exception: java.lang.InterruptedException 提示异常处理时,把鼠标移到对应代码块的左边你就会看到一个红的的灯泡,点击红色灯泡,里面就我们...

2018-09-18 10:41:17 8004 4

原创 Windows 10 屏幕亮度调节快捷方法

Windows 10系统亮度一直不知道怎么调节,网上的教程很杂并且大多无用,更改注册表内容也没效果。最后问我一个好朋友,找到了调节亮度的快捷方法(本人台式机)。1.Windows 10 系统 右击 NVIDIA控制版面 如下:2.在控制版面 选择 调整桌面颜色设置 然后选择 使用 NVIDIA设置 这样就可以调节屏幕亮度啦:这个 方法比修改 注册表快捷哆啦,有木有0-0. ...

2018-09-07 20:22:37 8066 1

转载 27天成为Java的大神

转自 杜古秋白  https://github.com/DuGuQiuBai/Java 

2018-09-06 14:13:35 825

原创 Android Activity、Fragment生命周期

Activity生命周期: Fragment生命周期:后期添加其他生命周期表学习...

2018-08-21 21:02:13 135

原创 Android基于微软语音识别API开发

  最近研究各大语音Android服务,今天研究了下微软的。  一:首先注册一个微软账号https://azure.microsoft.com/zh-cn/services/cognitive-services/directory/speech/ ,到里面选择语音转文本 ,免费试用。 二:创建服务,  在创建服务时需要信用卡 注册 验证(中间可能产生一些相关费用)。三:找到Andr...

2018-07-31 18:03:39 3765

原创 Android Opencv smile(微笑) 识别开发

最近研究opencv,主要的是以Android平台的为主。废话不多说直接来干货。一:SDK下载:https://opencv.org/ 我使用的是opencv 2.4.10的二:IDE我是使用eclipse的,也可以使用AS进行开发,需要NDK, eclipse的opencv配置请参考:https://blog.csdn.net/roboman/article/details...

2018-07-23 15:59:24 1376 3

原创 Android RecyclerView聊天界面控件布局居底

工具 Android studio。 废话不多说直接上代码:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_par...

2018-07-17 11:07:44 1414

原创 Android 串口相关权限问题

今天由于项目要求,需要通过串口把数据传给应用,所以我就找到开源项目:https://github.com/cepr/android-serialport-api ,使用其相关代码进行调试。 在调试中提示没有相关权限,我找到我的AndroidMakefiles文件 是已经添加了权限的,而后我就想到我的开发板设备节点没有打开权限。那好 就去设置权限吧。 方法 1.通过adb手动设置权...

2018-05-31 15:59:33 5845

原创 Android 开发之so动态链接库的移植(有相关JNI接口)

最近在搞dlib开发,由于能力有限,没能自己通过NDK移植dlib编译出.so动态链接库,所以就自己另找出路了。 在各大论坛中,一位大神经过我三顾茅庐的请求,他给我提供了其.so文件和相关的jni接口文件,那么我就可以通过jni来调用我的封装好的dlib 的.so文件。 但是问题来了,我要使用.so文件,我就需要system.loadLibra()。于是我就通过度娘找到...

2018-03-22 23:25:10 644 4

原创 Android 开发opencv简单调用camera

最近搞一个opencv笑脸识别的项目,由于是新手不太懂就慢慢的从最基本的开始,所以调用opencv的摄像头成为关键。好吧,那就开始简单的弄一个调用摄像头demo。(这也是我写的第一个博客,写的不好希望大家见谅) 1.首先,开发环境是必须的,我想搞Android开发的,环境搭配应该是不是问题吧(本demo不需要NDK)。 2.准备好Opencv_android_sdk ...

2018-03-01 13:22:34 5868 3

Android 调用opencv camera

简单的Android opencv 摄像头调用的demo 适合新手学习。行如逆水行舟,不进则退。

2018-03-01

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

TA关注的人

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