- 博客(49)
- 收藏
- 关注
原创 多个opencv版本切换
set(OpenCV_DIR "/home/gy/code/opencv-2.4.13.6/build")find_package(OpenCV REQUIRED)
2018-10-19 15:16:12 1192 1
原创 opencv学习10-08图像叠加, 改变亮度和对比度, 在mat上画图像
1 addWeighted(Mat src1, double alpha, Mat src2, double beta, double gamma, Mat dst)dst=α⋅src1+β⋅src2+γ注意src1与src2大小要一致.2 利用LUT函数实现Gamma correction, 调节对比度和亮度,gamma方法是一种非线性的调节方法: O=pow( (I ...
2018-10-09 09:43:47 304
原创 opencv学习10-07图像遍历
1 cv::Mat_ 与cv::Mat: "cv::Mat"是一种矩阵, 包括多通道和单通道. 可以转换为容器(container), 并使用容器的相关操作. 需要用到"cv::Mat_"。简单的说就是,现在你的数据是Mat类型的矩阵,需要以容器的形式使用它,就需要用到“cv::Mat_”容器。问题:cv::Mat不是一个连续存储的容器吗??2 迭代器方法 MatIterator_<...
2018-10-07 18:18:11 244
原创 ros realsense d435 驱动
roscore 运行在机器人上,ros版本jadePC端export ROS_MASTER_URI=http://robot_ip:11311roslaunch realsense2_camera rs_rgbd.launchrealsense 启动后驱动nodelet 挂了.检查后发现是机器人端不知道PC的IP所致,在机器人端: vim /etc/hosts添加:pc_i...
2018-10-01 17:06:10 956 1
原创 opencv学习09-30
Output image allocation for OpenCV functions is automatic (unless specified otherwise). opencv函数的输出图像是自动独立分配内存。 You do not need to think about memory management with OpenCVs C++ interface. The assi...
2018-09-30 21:31:27 131
原创 ros multi topics sub
#include "ros/ros.h"#include "std_msgs/String.h"//#include #include class multiThreadListener{public: multiThreadListener() { sub = n.subscribe("chatter1", 1, &multi
2017-09-12 14:24:15 415
转载 栈与堆
数据结构的栈和堆首先在数据结构上要知道堆栈,尽管我们这么称呼它,但实际上堆栈是两种数据结构:堆和栈。堆和栈都是一种数据项按序排列的数据结构。栈就像装数据的桶或箱子,我们先从大家比较熟悉的栈说起吧,它是一种具有后进先出性质的数据结构,也就是说后存放的先取,先存放的后取。这就如同我们要取出放在箱子里面底下的东西(放入的比较早的物体),我们首先要移开压在它上面的物体(放入的比较晚
2017-07-05 18:22:38 253
转载 Bresenham's 光线追踪算法,点到直线距离算法,点与多边形相交检测
/** * @brief A 2D implementation of Bresenham's raytracing algorithm... applies an action at each step */ template inline void bresenham2D(ActionType at, unsigned int abs_da, unsigned
2017-07-05 17:23:08 1245
原创 ros camera
1\roslaunch usb_cam usb_cam-test.launch ROS_NAMESPACE=usb_cam rosrun image_proc image_procrosrun image_view image_view image:=usb_cam/image_rectolor
2017-06-23 15:11:47 575
转载 ros参数服务器
The ROS Parameter Server can store strings, integers, floats, booleans, lists, dictionaries, iso8601 dates, and base64-encoded data. Dictionaries must have string keys. roscpp's parameter AP
2017-06-20 14:26:56 561
转载 teb local planner讲解
https://www.leiphone.com/news/201612/0TCtaBOIcFOIBN69.html
2017-05-26 19:43:23 5665
转载 actionlib
http://wiki.ros.org/actionlib_tutorials/Tutorials/SimpleActionClient%28Threaded%29http://wiki.ros.org/actionlib_tutorials/Tutorials/SimpleActionServer%28GoalCallbackMethod%29http://wiki.ros.org/
2017-04-28 21:04:53 427
原创 nodelet的一些理解
看来一下ros下的nodelet,有一些自己的理解,不知对不对,主要参考:http://wiki.ros.org/nodelet/Tutorials/Running%20a%20nodelethttp://blog.csdn.net/zyh821351004/article/details/52143309http://blog.csdn.net/x_r_su/article/de
2017-04-28 11:27:26 1911 1
原创 ros下的plugin学习
昨天看了ros下的plugin教程,今天整理一下,教程网址如下:http://wiki.ros.org/pluginlib/Tutorials/Writing%20and%20Using%20a%20Simple%20Plugin所谓插件plugin个人理解就是把一个写好的类按照ros下标准格式封装一下,然后就可以直接按照ros下的标准格式进行调用。这样方便移植和分享给其他人用,相当于一个动态
2017-04-28 09:32:28 1204
原创 ros_control
按照官网调试时候遇到了各种bug,主要是却依赖,安装gazebo_ros_pkgs+toolbox+realtime_tool等几个包之后就好了,在github下载时,记得选择正确的版本!!We add a block similar to the following for every joint that we wish to have Gazebo actuate.
2017-04-26 21:30:55 743
原创 gazebo中的坐标系
1、gazebo中link和joint中都有origin的元素。弄了半天好像是明白了。link定义了各个部件的几何模型,joint定义了各几何模型直接的坐标位置。joint中的origin就是这种连接关系建立的坐标系的原点和朝向。比如,就是在世界坐标系的(1,0,1)这个点建立了一个子坐标系。而link中首先会定义一个几何体,这个几何体一般是规则的长方体,圆柱体,球体。gazebo中定
2017-04-26 16:19:38 9278 2
原创 ROS_Kinetic +gazebo7 +turtle
1 如果安装的是ros-kinetic-full-desktop那么应该自带gazebo7.如果不是则需要手动安装,链接如下:http://gazebosim.org/tutorials?tut=install_ubuntu&cat=install2 安装ros与gazebo的接口:建议源码编译。http://gazebosim.org/tutorials?tut=ros_installi
2017-04-08 18:29:45 3125 1
原创 Terminate called after throwing an instance of 'ros::serialization::StreamOverrunException'
今天在用分布式跑在线导航程序时跳出这个error,查询到一下网址http://answers.ros.org/question/229478/terminate-called-after-throwing-an-instance-of-rosserializationstreamoverrunexception/原因为,订阅激光话题(scan)给的缓冲字节不够多,我只给了 50;另外就是激
2017-03-21 17:39:15 5467
原创 ros下分布式的调试和节点
背景是有两台电脑,一个名为A,另一个为B。两台均安装了ubuntu14.04及ROS indigo。目标是通过远程的方式在A上启动B上的节点,并在A上显示B上的运行结果。A是台式机,B是机器人,通过台式机远程控制机器人,并在台式机的rviz上显示出机器人上面的实时运行结果。首先,按照白巧克力亦唯心的两篇博客进行调试:http://blog.csdn.net/heyijia0327/ar
2017-03-01 15:34:35 2316
转载 ubuntu 14.04下安装cmake 3.2.2(自带版本2.8.2)
Either use a PPA or compile it yourself:Installation by a PPA (Upgrade to 3.2)sudo apt-get install software-properties-commonsudo add-apt-repository ppa:george-edison55/cmake-3.xsudo apt-get
2017-02-17 10:39:52 3399
转载 汉诺塔问题
问题描述一说到递归可能就会想到最经典的汉诺塔问题.先把汉诺塔问题简短的描述下.假如有start ,tmp , end三个柱子.1.初始条件.最开始是tmp和end为空,而start上面有按从大到小往上摆的盘子(塔状).2.最终目标.实现把所有盘子放到end柱子上,顺序跟之前的start柱子一样.从大到小往上的塔状形.3.限制条件.我们在搬动的时候可以把tmp
2017-02-09 16:34:06 364
原创 c++的引用&
#includeusing namespace std;void fun1(int x, int y)//x,y是实参{x = x + y;x = x - y;cout }void fun2(int &x, int& y)///x,y是形参{x = x*x;y = y*y;cout }int main(){int a, b;a =
2016-12-26 22:25:52 245
原创 编译cartographer报错
编译谷歌cartographer时候以上错误;解决方法,打开cartographer_rviz下的drawable_submap.h和submaps_display.h分别在程序首尾添加#ifndef Q_MOC_RUN和#endif。add to the top:#ifndef Q_MOC_RUNadd to the bottom:#endif然后重新编译: catkin
2016-12-22 16:56:21 1952 1
转载 ubuntu下编译安装opencv2.4.13和3.1.0
环境: ubuntu14.04 需求:在同一台电脑上,有的工程需要使用OpenCV2.4.X,有的工程需要使用OpenCV3.x. 解决办法: 1,下载OpenCV2.4.9,make install 路径为”~/Downloads/opencv2.4.9”---------------------------------------------------------------
2016-12-19 15:37:45 605
原创 ubuntu14.04安装opencv 3.10
在ubuntu14.04安装opencv3.1.0在进行到cmake步骤时报错:CMake Error at 3rdparty/iICV: Failed to download ICV package: ippicv_linux_20151201.tgz. Status=1;"Unsupported protocol"不明原因下载不了这个库,在csdn上下载了一个包,网址这里:http
2016-12-16 15:54:02 666
转载 Ubuntu14.04安装CMake3.4.1
由于Ubuntu14.04的cmake版本为2.8.x,而如果需要cmake3.x版本时,无法生成makefile,有两种方法可以安装cmake3.4.1:sudo apt-get install build-essentialwget http://www.cmake.org/files/v3.4/cmake-3.4.1.tar.gztar xf cmake-3.4.1.tar.gzc
2016-12-16 15:11:57 481
原创 闹心的CMakeList!!
被CMakeList里各种乱七八糟的路径搞的神犯,建立了一个最简单的项目梳理一下。环境:Ubuntu 14.04 x64 1、建文件夹!!如下图: bin 用来放编译好的可执行二进制文件。 aaaa 用来放源代码,好像都用src,我就是为了试试这玩意到底是啥。 lib 用来放编译好的库文件。 include 用来放头文件。2、往根目录下的CM
2016-12-10 15:25:45 4208
转载 C++:vector中的resize()函数 VS reserve()函数
C++:vector中的resize()函数 VS reserve()函数http://www.cplusplus.com/reference/vector/vector/vector/写代码的时候无意错用了这两个函数 导致测试的时候,程序运行崩溃 发现这两个函数还是有区别的void reserve (size_type n);reserver函数用来给vector预分配存储区
2016-12-02 09:54:13 314
转载 string中c_str()、data()、copy(p,n)函数的用法
from:http://www.cnblogs.com/qlwy/archive/2012/03/25/2416937.htmlstring中c_str()、data()、copy(p,n)函数的用法标准库的string类提供了3个成员函数来从一个string得到c类型的字符数组:c_str()、data()、copy(p,n)。1. c_str():生成一个const cha
2016-12-02 09:50:09 289
转载 四元数初学
转自https://www.zhihu.com/question/23005815根据我的理解,大多数人用汉密尔顿四元数就只是做三维空间的旋转变换(我反正没见过其他用法)。那么你不用学群论,甚至不用复习线性代数,看我下面的几张图就可以了。首先,定义一个你需要做的旋转。旋转轴为向量,旋转角度为(右手法则的旋转)。如下图所示:此图中,那么与此相对应的四元数(下三行式子都
2016-12-01 10:47:18 672
转载 终端控制——如何在不输入回车读入字符
摘要:一般情况下,我们在终端输入一些字符,输入的同时可以编辑(增加,删除,修改),然后输入回车,这些字符被送到缓冲区。但是,在more程序和其他的程序中,比如游戏中的快捷键,我们需要的是不用输入回车就可以读取字符。此时,我们就需要了解如何控制终端,使得在不输入回车的情况下就可以读入字符。 首先,我们看一下这个程序的实现: #include #include #incl
2016-11-30 16:50:50 1122
原创 ros下gazebo的安装,模型加载和仿真
1、安装环境ubuntu14.04 x64 ROS indigo2、gazebo的安装:先在ubuntu上安装gazebo,此时和ros没有建立联系,然后在安装gazebo_ros_pkgs这样就可以利用ros的指令启动和加载模型了。流程如下:2.1在ubuntu下安装gazebo默认的安装方式:curl -ssL http://get.gazebosim.org | sh(这是利用脚
2016-11-30 14:52:32 18430 10
原创 二叉树初学
完全二叉树:只有最下面的两层结点度能够小于2,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树。如果一棵具有n个结点的深度为k的二叉树,它的每一个结点都与深度为k的满二叉树中编号为1~n的结点一一对应,这棵二叉树称为完全二叉树。满二叉树:除了叶结点外每一个结点都有左右子叶且叶子结点都处在最底层的二叉树
2016-11-24 19:40:52 421
原创 ubuntu 16.04 x64 ROS kinetic 安装ORB—SLAM
1、g2o (included) We use g2o to perform several optimizations. We include a modified copy of the library including only the components we need and also some changes that are listed inThirdparty/g
2016-11-04 10:51:19 3427 1
转载 ubuntu 开机报系统错误解决办法
1、打开一个终端,执行下面的命令:sudo rm /var/crash/*这个操作会删除所有在/var/crash目录下的所有内容。这样你就不会再被这些报告以前程序错误的弹窗所扰。但是如果又有一个程序崩溃了,你就会再次看到“检测到系统程序错误”的错误。你可以再次删除这些报告文件,或者你可以禁用Apport来彻底地摆脱这个错误弹窗。2、彻底地摆脱Ubuntu中的系统错误弹窗要禁止Appo
2016-11-01 19:01:18 3441
原创 tf树的一些理解
1.建立和维护一棵tf树。主要是通过不停地向tf树发送各个坐标系之间的转换关系,也就是位置关系,来维护一个tf树。主要用到的指令就是: static tf::TransformBroadcaster br; tf::Transform transform; transform.setOrigin( tf::Vector3(msg->x, msg->y, 0.0) ); tf::
2016-10-31 10:29:06 4152
转载 模板类+自己的理解
C++中 模板Template的使用 (2011-08-23 10:18:57)http://blog.sina.com.cn/s/blog_74a271040100tkmj.html1、在c++Template中很多地方都用到了typename与class这两个关键字,而且好像可以替换,是不是这两个关键字完全一样呢?答:cl
2016-10-26 22:28:11 442
转载 const用法+自己的理解
C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用 如下表所示:No.作用说明参考代码
2016-10-26 19:34:17 268
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人