- 博客(61)
- 资源 (4)
- 收藏
- 关注
原创 AirSim无人机仿真平台(windows)
1.环境:UE4.27+AirSim+VS20192.异常问题:1.严格按照官方提供的版本进行软件的搭配;2.AirSim编译特别注意Eigen库,如果出现问题,且网上没有针对性解决办法,尝试重新下载低版本的Eigen库(建议Eigen3.3.9);3.VS2019安装需要注意勾选支持unreal,详细的安装参考其它的教程;4....
2022-01-07 15:33:44
3022
原创 AirSim无人机仿真(Ubuntu18.04)
安装过程:1.先要安装Unreal Engine。需要在官网(https://www.unrealengine.com/)注册账号,并用github拉取代码,最后在终端执行安装操作cd UnrealEngine./Setup.sh./GenerateProjectFiles.shmake特别注意,UE整个下载安装非常消耗系统空间(估计有70G左右),建议在安装前预留系统空间100G,整个过程也十分耗时,要是网速不好,可能需要十几个小时下载完十几G内容。2.安装AirSim(确保1中m
2021-12-13 20:38:29
5799
1
原创 gazebo+px4+ros 联合仿真(更新时间:2021年11月18日)
通过ros启动gazebo的几种方式:rosrun gazebo_ros gazebo #启动服务器和客户端rosrun gazebo_ros gzserverrosrun gazebo_ros gzclientrosrun gazebo_ros empty_world.launch #启动空白世界-------------------异常问题处理:1.终端显示无人机传感器没有标定,需要删除.ros下eeprom下的文件;2. ...
2021-11-18 09:43:09
571
原创 经典算法的流程
RANSAC算法流程RANSAC(random sample consensus,随机采样一致)算法是从一组含有“外点”的数据集中正确估计数据模型参数的迭代算法。“外点”一般指数据中的噪声点,比如说匹配中的误匹配和估计曲线中的离群点。RANSAC算法是一种不确定算法,它只能在一种概率下产生结果,并且这个概率会随着迭代次数的增加而加大。RANSAC是通过反复选择数据集去估计模型,一直迭代到估计出认为比较好的模型。流程如下:1.选择出可以估计出模型的最小数据集(例如对于直线拟合来说就是两个点);
2021-08-01 18:02:15
4192
原创 Linux终端指令集锦(更新时间:2021年12月28日)
CTRL+alt+t进入终端,在终端输入exit退出终端; ls 列出主文件夹下文件,ls –a 列出主文件夹下的包括点(.)开头的隐藏文件,ls –l 列出主文件夹下包括与文件相关属性的内容信息; 查找特定的文件,$ ls | grep *.txt #查找当前目录下后缀为.txt的文件; 查找特定文件数量,$ls –l | grep “.pcd” | wc –l #统计当前目录下后缀为.pcd的文件数量,$ ls –l 2020* | grep “^-” | wc –l #统计当前目录下所有以 20
2021-05-30 09:38:35
824
原创 解决win10内存80%+的方法
最近发现电脑什么大型软件都不打开内存使用依然非常高,高达80%,非常影响电脑性能!网上有各种方法,但是一种比较简单可行的方式是直接打开 资源监视器,把里面内存消耗最高的那个(我的上面是explorer.exe),直接杀掉!再重新启动电脑就行。...
2021-04-28 16:54:29
3199
原创 tensorflow中GradientTape的解释
最近在学习tensorflow时,发现在计算梯度时调用了一个函数GradientTape().gradient()函数。以最简单的线性模型为例,y=W*x+b根据上述公式可以计算dw,同理可以计算db。
2021-03-08 13:53:58
1039
原创 opencv和contribute一起编译注意事项
win10平台下,在VS2015中编译由cmake3.12生成的opencv4.5.1+contribute4.5.1总是编译出错!改用VS2019发现cmake3.12不支持VS2019,于是换成cmake3.19,重新生成,重新编译终于成功了!注意:cmake配置过程有部分库由于无法下载而生成失败,这个不影响后续的编译工作。...
2021-02-04 18:16:05
222
原创 VS dump文件分析
软件release版本发布后,客户端使用难免会出现使用不当而造成崩溃!针对这种情况采用崩溃期间生成的dump文件进行问题分析十分必要。整个操作过程如下:1.在源码中加入生成dump的代码,可参考(https://blog.youkuaiyun.com/yao_hou/article/details/105228043)2.在源码编译环境中设置:3.在release下编译源码,对应生成.pdb文件、.ilk文件、.exe文件;4.软件发布后,若软件产生崩溃,会生成一个.dmp文件;5.将.
2021-01-04 17:19:51
1382
原创 Qt Designer UI界面设计注意事项
1.控件具有继承功能,如果不需要子类继承父类控件的stylesheet,父类stylesheet设置时最好要带有控件类型名称,例如 QFram{...;};2.所有的空间均要在小的区域内进行布局,再一步步布局到整个界面;3.在designer里设计所有的UI布局,而不是采用代码来设计,这样UI就可以跟代码完全分开;4....
2020-08-12 15:29:24
489
原创 三通道浮点型数据存储到图片中
在实际工作中,会遇到需要将浮点型数据(float或者double)的数据存在一张图中的问题,例如需要将有序点云的x y z坐标存在一张标准格式的图片中便于后续使用(halcon的3D匹配可用)。然而,大多数情况下,图片只能以整型的形式被存储在图片中,例如.bmp .jpeg .png等等,无法满足浮点数据存储的要求。但是,好在有一种牛逼的图像文件格式——TIFF,几乎可以存储所有的数据,甚至包括字符串。。。而且该格式文件还独立于操作系统,使用十分方便!但是,使用TIFF格式存储浮点型数据并非易事!我花了
2020-06-02 11:32:33
2319
2
原创 VS2015+OpenCV3.4+pcl1.8.1+Qt5.7+halcon18+VTK8.0(x64环境)
之前总是在VS2015中采用x86平面编写代码,如今需要使用到halcon的C++ API函数,且halcon18还只有x64版本的(导出的C++ API函数也是x64),所以需要重建搭建x64环境。VS2015就不用重新安装了,还是原来的社区版本(链接:https://pan.baidu.com/s/1PPQ-rwr2OCageD0_6ryj9g提取码:h6e1)。1.下载OpenCV3.4.5的源码,并用cmake编译成VS2015 x64的环境,并在VS中生成对应的动静态库;(链接:http
2020-05-29 17:10:30
742
原创 基于格雷码+相移方案的结构光重建解析
由于前段时间一直处在算法的应用开发阶段,长时间将心思花在硬件选型、原型机设计、原型机搭建和联调等上面,没有抽足够的时间来记录相关算法的开发经历,年底特更新一篇有关格雷码+相移方案的三维重建算法,该文章依据相应论文,对格雷码+相移方案的整个重建进行了较为详细的阐述,并融入了自己对该套方案的看法,便于广大的同仁一起研讨,文章中如有不妥之处,也请指正。整个文章将以双目结构光为基础,内容包括以下几个部...
2019-12-29 17:52:32
9726
24
原创 光栅投影中Gamma校正
学习 郑东亮 达飞鹏 《提高数字光栅投影测量系统精度的gamma校正技术》一文后,对其中的关键技术进行了解析。摄像机获得的实际灰度图像:其中是整个系统的gamma值,是预编码值(需要根据实验进行选择),是幅度调制(保证归一化),是背景光强,和是由系统确定的值(需要通过投射不同的灰度图进行解算)。gamma校正的目的:选择一个合适的预编码值,使得,从而使系统的gamma失真得以消除或者减...
2019-08-05 17:48:51
3745
3
原创 _beginthreadex()线程同步和异步问题
CRT中有一个非常好的多线程函数 _beginthreadex(),通过该函数可以设计同步和异步运行的程序。如下,在别人的程序上改动后,可以更加深入理解线程的同步和异步问题!---------------#include <iostream>#include <windows.h>#include <process.h>CRITICAL_SECT...
2019-06-13 11:29:56
1175
原创 火狐等浏览器启动被2345等网站劫持的解决方案
最近新来了台笔记本电脑,重新装系统和必备软件,在使用火狐浏览器启动时主页被莫名其妙改成2345网站的主页(IE也是一样),在网上尝试了很多方式,什么修改注册表,什么搜索关键词,什么重装浏览器,什么锁定主页,全TM的没有用!最后索性安装卡巴斯基反病毒软件,对电脑全盘扫描,终于搞定了!对了卡巴有免费版的。以前IE出现的问题也一起解决了,看来卡巴是完全隔离了劫持浏览器的病毒了!(我个人不喜欢安装什么杀毒...
2019-05-29 10:21:29
3827
原创 多频外差相移技术理解
在学习结构光过程中,有几个问题一直困扰着我,慢慢地研究后,对其有了更加深入的理解,主要体现在以下几个方面:1.多频指的是条纹的频率,即若频率为1/100,表示条纹周期数为100,代表在一幅图像中一个完整条纹出现的次数为100次,而不是一个完整条纹所占有的像素数(否则,折合不同分辨率的图像,其频率周期发生变化!)。举个例子,例如图像宽度为1024,条纹周期数为100,则每个完整条纹占有像素数大约...
2019-05-07 15:17:48
7358
19
原创 Windows下使用OpenGL
最近项目上需要用OpenGL进行3D显示,特在Windows平台上安装OpenGL,并测试。几个月前使用过OpenGL,但是这次从头来,还是出现了各种问题(因为换工作了,所以都得重新开始。。。)这次我使用的是glfw,我认为单纯的glfw就可以运行,其实不是的,需要依赖gl.h,VS在安装时,默认是安装了OpenGL的,该头文件也有,但是所需要的静态库却是需要自己配置的,跟glfw3.li...
2019-04-24 19:54:10
6964
原创 3D结构光(链接地址提供源码和文献)
最近在研究利用结构光进行三维重建,在一个网站上看到了开源的3D结构光代码,特分享地址:http://www.3dunderworld.org/该网站链接服务可提供源码下载和相关的文献。所提供的源码有更新升级,最新的源码支持GPU处理,可作为二次开发进行研究学习。------------------------------另外再提供一个在MATLAB平台下利用gray code进行三维重...
2019-04-19 09:27:25
6429
30
原创 cmake中编译opencv-contribute出现ocv_default_module无法识别
由于OpenCV自带的基础库中算法有限,特根据OpenCV附加源码(opencv-contribute)利用cmake进行编译,供Windows下VS2015使用。我采用window10+VS2015+cmake3.12+opencv3.4.5+opencv3.4.5-contributeOpenCV可以在官网下载,附加的contribute需要在GitHub上下载(特别注意二者版本需要对...
2019-04-16 20:29:44
741
原创 x64平台下调试信息不匹配(未使用调试信息)
最近在使用SSE指令集,在Windows的x64平台debug下运行,出现以下问题:此问题的出现是 .生成调试信息失败(链接器->调试->生成调试信息 开)。更改后上述的警告没有出现,但是无法在断点时查看具体的调试信息,此时需要将 C/C++中优化禁用(C/C++->优化->优化 已禁用(/Od)); ...
2019-01-16 09:52:04
311
原创 机器学习中级联分类器的使用(基于OpenCV)
最近项目上需要用到机器学习,特利用OpenCV自带的可执行程序对图像样本进行分类处理。利用OpenCV中opencv_createsample.exe和opencv_traincascade.exe对图像进行分类的主要步骤可分为以下几个部分:1.准备正样本和负样本我准备的正样本为30*30的bmp图(8位),特别注意的是正样本大小要一致!并将其放到pos文件夹下,利用windows...
2018-11-29 20:18:33
1222
1
原创 OpenCV中图像矩阵翻转、转置和特殊旋转
在OpenCV中对图像进行翻转和转置的函数,可以很方便对图像进行特殊角度的旋转!图像翻转函数cv::flip(mat_src,mat_dst,flag)其中,flag=0 绕X轴(水平轴)翻转flag>0 绕Y轴(垂直轴)翻转flag<0 同时绕X轴和Y轴翻转图像转置函数cv::tranpose(mat_src,mat_dst);//主对角不变,副对角调...
2018-10-30 16:02:57
8946
原创 利用SURF算法进行散斑图案拼接
最近项目中需要将两个相机拍摄的散斑局部图拼接成一个完整的散斑图,特将实际项目中使用的特征点匹配和拼接算法记录如下,便于后续查阅。----------------------------------------------------基本概念:要对图像进行拼接,首先要进行图像特征匹配(找到图像的对应关系),而要进行图像特征匹配,首先要进行图像特征的检测,所以整个流程可以表示为:图像特征检...
2018-10-24 22:22:13
2326
1
原创 关于图像处理算法的那些事
·能从硬件结构方面消除不利影响,最好不要从图像算法方面消除不利影响(预防隐患法则)·截至目前为止,图像算法没有一个标准的算法流程适合所有的图像处理,所以具体问题具体分析·图像算法处理的实际应用遵循海森堡不确定性原则,所以在实际应用中不断优化算法十分必要·图像算法处理的实际应用符合墨菲定律,所以图像算法前期的设计隐患一定会在实际应用中产生·图像处理算法一定是定量分析算法,模...
2018-10-16 08:27:01
990
原创 Ubuntu+KDE+OpenCV
直接在文本文档中编写程序的效率太低,主要是限于函数的联想功能!一般采用集成软件进行代码编写,可以使用KDevelop,类似Windows中的VS。在KDE中编写程序的方式跟windows中的VS相同,稍有区别的是需要在CMakeLists.txt文档中添加相应的库函数。main.cpp如下:------------------------#include <iostrea...
2018-10-15 00:03:46
238
原创 Ubuntu安装软件事出现依赖关系有问题解决方案
在ubuntu中安装软件中,有时会出现以下错误提示:有一些软件包无法被安装。如果您用的是 unstable 发行版,这也许是因为系统无法达到您要求的状态造成的。该版本中可能会有一些您需要的软件包尚未被创建或是它们已被从新到(Incoming)目录移出。...出现上述等问题,一般是系统中相关软件没有更新。当然,有时可以在终端键入:sudo aptitude... 来降低相关软件版本,达到依赖...
2018-10-14 21:32:19
5302
原创 Ubuntu中使用OpenCV显示图片
OpenCV库配置完成后,在.cpp文件中编写代码。在CMakeLists.txt文件中加入:CMAKE_minimum_REQUIRED(VERSION 2.8)find_package(OpenCV REQUIRED)include_directories(${OpenCV-INCLUDE_DIRS})add_executable(*** ***.cpp)target_...
2018-10-12 21:38:10
2154
1
原创 ubuntu开机出现内存检测(蓝屏一直读进度条)
我在不了解Linux系统机理的情况下,擅自更改了boot/grub/grub.cfg中的set default=""的值(set default="2"),导致下一次开机开始进行内存检测(GNU GRUB蓝屏界面),一直读进度条,而找不到主引导。最后,在网上(当然另外一台电脑)查到了一个可信的处理方式。开机后,一直按shift键,进入 grub> 界面,输入以下内容grub>...
2018-09-12 21:29:07
1677
原创 C++代码中数据被异常改动
最近在用以前写的代码,突然发现结构体中的数据在毫无征兆(没有人为赋值改动)的情况下发生了改变,检查了很长时间,也让别人检查了很长时间,也没有发现问题,觉得非常的诡异!最后,我下定决心将整个代码跑一遍,一步步地调试,终于发现了问题,原来是有一个参数在存数据的时候发生了越界!巧合的是,越界发生的地方,刚好是那个结构体存储数据的地方!导致结构体中的数据无端被更改了!整个错误的过程基本可以通过以下...
2018-09-11 20:44:11
1128
1
原创 ubuntu14 + cmake3.2 + eigen3
最近在学习slam,在笔记本上安装了ubuntu14.04,同时更新了cmake版本到3.2,此外还安装了常用的矩阵运算库eigen特记录一下,在linux系统进行C++编程的过程(开始学习新系统,确实有很多的不熟悉)在一个文件夹目录下(./test)建立eigenMatrix.cpp在里面输入----------------#include <iostream>...
2018-09-11 00:31:46
650
原创 利用anaconda安装TensorFlow
首先,说明一下我的环境:电脑: win10 x64显卡: NVIDIA GEFORCE GTX 960MCPU: CORE i7Python:3.6.5.fina1.0Conda:4.5.4Conda-build :3.10.5-----------------------------------然后,测试一下本地安装的anaconda是否存在。cmd命令窗口,...
2018-08-25 11:08:22
283
原创 IDS_uEye多网口相机多线程出图实现
最近接手一个项目,需要利用IDS双网口相机出图,并计算目标物体的解像力和均匀性。IDS双相机分别获取目标物体一部分的外型图案,在VS C++中利用MFC多文档编程(已有大致框架),并进行算法设计和程序设计。因为数据获取涉及到了两个外部硬件,且需要同步实现数据获取,以及后续的计算,特考虑使用多线程的方式进行程序设计。初步的设计思想是:以相机为分析对象,为每个相机开辟三个线程,分别进行图像的采...
2018-08-18 20:40:41
1507
原创 C++编程中提高程序运行效率的方式(不断更新)
在实际的工作中,利用程序实现同样的功能会有很多种方式,但是考虑到程序的运行时间时,很多方式并不可取。不断提高程序的运行效率,而又不影响程序功能是程序员的不竭追求!以下是我在工作中总结的提高程序代码效率的方式:1.整型运行速度快于浮点型,所以能用整型的地方尽量不要用浮点型计算,尤其是除法!移位运算的效率比一般的乘除法效率高!2.尽量少调用简单函数,例如一个数的平方,直接 a*a,而不要用...
2018-08-16 19:07:07
10111
2
原创 RGB图转化成灰度图的色彩权重(不同精度等级)
RGB图转灰度图经典的心理学公式:Gray = R*0.299 + G*0.587 + B*0.114一般地,在程序中浮点型的运算较整型慢,特考虑用整型移位的方式进行色彩转化。不同的整型值大小对应不同的转化精度,2位至20位的精度转化公式如下: Gray = (R*1 + G*2 + B*1) >> 2 ...
2018-08-11 16:29:08
4633
原创 C++中exe可执行文件添加版本信息
在做项目时,经常需要更动win32控制台生成的exe文件,为了方便更动后标记exe文件,特在程序中设置exe可执行文件的版本信息、产品信息和公司名称等。具体操作如下:在资源管理器的对应项目上单击鼠标右键,选择 添加->资源->Version,即可在 .rc界面中编辑可执行文件的版本信息。具体如下图:以后,就可以在 资源视图 中利用.rc进行程序版本的信息修改。...
2018-08-08 20:25:46
4962
基于格雷码的结构光重建代码(MATLAB版本)
2019-07-12
佳能相机SDK
2019-05-06
GLM动态库、静态库和头文件(OpenGL)
2019-04-24
摄像机标定程序(demo版)
2018-06-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人