- 博客(26)
- 资源 (13)
- 收藏
- 关注
原创 多线程解析(实时更新)
多线程根据不同操作系统内核限制,硬件内存的限制等,线程的数量是有上限的。在操作系统中有两个资源会限制开子线程的个数。首先每个子线程有一个file descriptor(windows里面叫handle句柄)操作系统分给每个进程的fd个数有上限的。其次每个子线程会占用stack(栈),编译时,每个进程stack的大小是有限制的,编译选项可以设置stack的大小上限。当达到上限,就不可以在创建子线程。......
2022-05-30 08:29:09 147
原创 FromHandlePermanent()与FromHandle()的区别
FromHandlePermanent()函数FromHandlePermanent函数,它当且仅当hwnd已与某个CWnd对象关联时才返回此对象的指针,否则返回NULL。这也是它为什么叫Permanent——区别于FromHandle会new一个临时的CWnd对象。 这两个函数都是在公共的 CMapHandle 中查找句柄对应的 CWnd 对象(通过一个CBT钩子,CWnd 对象将创建时得到的句柄和自己的指针纪录到 CMapHandle),区别是如果找不到相关的对象,FromHandle 在CMapHa
2022-05-26 19:53:56 337
原创 exit(0)与exit(1),return三者区别(详解)
简单介绍:exit(0):正常运行程序并退出程序;exit(1):非正常运行导致退出程序;return():返回函数,若在主函数中,则会退出函数并返回一值。详细介绍:1. return返回函数值,是关键字; exit 是一个函数。2. return是语言级别的,它表示了调用堆栈的返回;而exit是系统调用级别的,它表示了一个进程的结束。3. return是函数的退出(返回);exit是进程的退出。4. return是c语言提供的,exit是操作系统提供的(或者函数库中给出的)。
2022-05-25 21:51:04 592
原创 vs2010 MFC 编辑框+列表框控件+按钮+slider 控件 应用
编辑控件+按钮的应用1.创建一个对话框,在对话框上能够输入并显示字符串,比如“Nothing Is Impossible”。2.在对话框中添加一个按钮,点击按钮,显示按词倒序以后的字符串,比如“Impossible Is Nothing”。点击按钮显示字符串代码:CString Character; GetDlgItem(IDC_EDIT)->GetWindowText(Character);//获取编辑框中的字符串 GetDlgItem(IDC_EDIT)->SetWindowTe
2021-02-04 19:46:10 979
原创 ubuntu16.04+kinetic2.0+orbslam2
安装Kinect2的驱动Kinect2的驱动包括libfreenect2和iai_kinect2,后者为使用ROS时要安装的驱动,而且依赖前者。安装libfreenect2参考:https://github.com/OpenKinect/libfreenect2下载libfreenect2git clone https://github.com/OpenKinect/libfreenect2.gitcd libfreenect2Download upgrade deb files4.
2020-08-16 11:33:24 198
原创 deal_build
Ros系统出现的问题Ros系统对电脑系统的内核有要求,需>=4.4.0版本。解决办法如下:在启动Ubuntu系统时,进入ubuntu系统高级选项,然后选择已有的系统内核版本,如果没有大于4.4.0的内核版本,需要自行下载。查看电脑内核版本:uname –r内核问题解决后,还需在realsenseSDK2.0文件安装Video4Linux视频内核驱动sudo cp config/99-realsense-libusb.rules /etc/udev/rules.d/sudo udevadm
2020-07-19 15:15:07 190
原创 Ubuntu16.04+ros+orbslam2
intel realsens D435相机的开发系统 Ubuntu16.04 ,ROS相机 Intel realsense d435算法 ORBSLAM21.安装基于ROS使用的realsense的包(这里面包含realsense SDK和ROS kinetic)2.编译ORB-SLAM2(build.sh和build_ros.sh)3.获取相机信息,实现数据传输并进行深度图像配准。一:安装RealSense SDK2.01.下载源码:$ git clone https:
2020-07-19 15:08:04 302
原创 ORBSLAM2局部地图初始化和开启线程
简述ORBSLAM2多线程编程ORBSLAM2是多线程编程的。分为追踪线程、局部地图构建线程、回环检测线程和可视化显示线程。或许还有添加后来添加的点云3d地图构建线程。言归正传。1.局部地图初始化mpLocalMapper = new LocalMapping(mpMap, mSensor==RGBD);//变量赋值LocalMapping::LocalMapping(Map *pMap, const float bMonocular): mbMonocular(bMonocular)
2020-06-16 10:08:51 384
原创 ORBSLAM2 回环检测初始化和开启线程
开门见山1.回环检测初始化,给变量赋初值//回环检测初始化接口mpLoopCloser = new LoopClosing(mpMap, mpKeyFrameDatabase, mpVocabulary, mSensor!=MONOCULAR);//回环检测初始化,变量赋初值LoopClosing::LoopClosing(Map *pMap, KeyFrameDatabase *pDB, ORBVocabulary *pVoc, const bool bFixScale): mbRese
2020-06-16 10:03:16 584
原创 ORBSLAM2初始化跟踪线程
初始化跟踪线程但不开启线程mpTracker = new Tracking(this, mpVocabulary, mpFrameDrawer, mpMapDrawer, mpMap, mpKeyFrameDatabase, strSettingsFile, mSensor);1.变量赋值Tracking::Tracking(System *pSys, ORBVocabulary* pVoc, FrameDrawer *pFrameDrawer, MapDrawer *pMapD
2020-06-15 16:02:11 280
原创 ORBSLAM2 system.cpp构造函数解析
rgbd_tum.cpp中system.cpp的构造函数如下:ORB_SLAM2::System SLAM("ORBvoc.txt","TUM1.yaml",ORB_SLAM2::System::RGBD,true);功能函数如下1.初始化System::System(const string &strVocFile, const string &strSettingsFile, const eSensor sensor,const bool bUseViewer):
2020-06-15 15:40:08 263
原创 ORBSLAM2 rgbd_tum.cc程序解析
rgbd_tum.cc相关步骤及对应代码如下所示:1.输入图像定义的变量如下 vector<string> vstrImageFilenamesRGB;//RGB 名字 vector<string> vstrImageFilenamesD;//depth 名字 vector<double> vTimestamps;//时间戳名字 string strAssociationFilename = string(associate);//rgb,depth与时间戳对
2020-06-15 07:49:42 741 1
原创 软碟通U盘启动盘制作,详细解说
1、下载软碟通软碟通很小,如下所示2启动盘制作点击左上角的文件选项,在弹出的菜单中,点击打开选项,打开一个你要装进U盘的操作系统。点击软碟通的“启动”,点击写入硬盘映像,如下图所示:...
2020-06-15 07:04:38 252
原创 视觉SLAM十四讲视频下载
对于SLAM初学者来说高翔的视觉SLAM十四讲是一本不错的入门书籍,从理论到实践,内容十分丰富。下面提供针对视觉SLAM十四讲的视频,带你入门不是问题。下载链接:https://download.csdn.net/download/weixin_43812135/11834821希望对初学者有所帮助!!!...
2019-10-08 20:18:00 2000
原创 vs2013+opencv3.0.0详细配置及配置之中常遇到的问题详解
1、opencv环境变量的配置右击我的电脑——属性——高级系统设置…在Path变量值路径里添加如下库,也就是安装的opencv的路径本人的是:G:\opencv\opencv3.0_win\opencv\build*x86*\vc12\bin切记,无论你的电脑是64位还是32位,路径中都选“x86”中的vc12\bin。1)选择电脑右键点击-属性:2)高级系统设置3)选择环境变量...
2019-09-23 21:11:37 237
原创 联通域标记与联通域数量统计
联通域标记与联通域数量统计联通域标记分为8联通和4联通以8联通为例,过程比一般人的简单设,signal为联通域的个数,起初设为0.1.寻找二值化后的目标点,设f(i,j)为目标点,若该点最左,左上,最上,上右都为0(非目标点)则signal加1,并把signal的值赋给f(i,j)。2.如果f(i,j),最左,左上,最上,上右有非0的点,则将最小的非0点赋值给f(i,j),若f(i,j)...
2019-08-21 08:44:50 759 1
原创 基于粒子群优化的 OTSU 图像分割
基于粒子群优化的 OTSU 图像分割思想:粒子群算法是一种优化算法,与狼群算法,遗传算法类似,用于求取全局最优解;将粒子群与 OTSU 相结合目的是为了快速找到图像分割的最佳阈值,提高图像分割的效率。粒子群算法原理:受飞鸟集群飞行觅食行为的启发,Kennedy等提出的一种优化算法。首先初始化一群具有随机位置和速度的粒子,然后通过迭代的方式改变每个粒子的位置和速度,使得所有粒子的位置都向最好...
2019-04-16 13:30:10 3981 3
原创 基于matlab的XML文件批量处理
基于matlab的XML文件批量处理maindir = ’ ‘; %引号里面填XML文件所在的文件路径subdirpath = fullfile( maindir, ‘*.jpg’ ); %读取文件夹中jpg格式的图片(以jpg格式图片为例,也可以是其他格式)img = dir( subdirpath1 ); %将找到的所有XML文件内容传递给imgfor j = 1 : length(...
2019-04-16 09:30:36 633
原创 对图像进行批量处理——matlab
基于matlab的图像批量处理maindir = ’ ‘; %引号里面填图片所在的文件路径savedir =’ '; %引号里面填图片处理后要保存到的所在文件路径subdirpath = fullfile( maindir, ‘*.jpg’ ); %读取文件夹中jpg格式的图片(以jpg格式图片为例,也可以是其他格式)img = dir( subdirpath1 ); ...
2019-04-16 09:11:40 1997
原创 基于二维的Otsu(灰度级-梯度级)图像分割
原理:基于二维的Otsu(灰度级-梯度级)图像分割方式的思想与一维 Otsu 图像分割的思想一样。基于二维的Otsu(灰度级-梯度级)图像分割减少基于二维的Otsu(灰度级-灰度均值级)的计算量,同时进一步提高抗噪能力。用f(i,j)和g(i,j)取代像素点(i,j)处的灰度值f(i,j);其中g(i,j)为像素点(i,j)的灰度值f(i,j)与像素点(i,j)邻域像素值的均值的插值的绝对值...
2019-04-10 17:27:37 2234
原创 基于二维的Otsu(灰度级-平均灰度级)图像分割
原理:基于二维的Otsu(灰度级-平均灰度级)图像分割方式的思想与一维 Otsu 图像分割的思想一样。二维的Otsu提高了一维的抗噪能力。用f(i,j)和g(i,j)取代像素点(i,j)处的灰度值f(i,j);其中g(i,j)为像素点(i,j)处邻域像素值的均值。取代后变成二维形式:[ f(i,j),g(i,j) ]。设:灰度值为 i ,灰度均值为 j 的像素点个数为 ni,其概率 Pi...
2019-04-10 16:52:24 1413
原创 基于一维Otsu的图像分割
原理:设图像中灰度为 i 的像素数量为ni ,灰度范围为[0_[0 — L-1],其中L为256,图像中总像素数为N各个灰度值(0-255)出现的概率为Pi,选用阈值K,将图像灰度分成 A 和 B 两部分,两部分的概率分别为:A B 两部分的平均灰度为:两个部分的方差为:使两部分的方差达到最大的K值,就是图像分割的最佳阈值。分析:如图所示:对于灰度统计图为双峰的图像,用该...
2019-04-10 15:36:06 689
原创 钢板表面不同种类的缺陷图
钢板表面不同种类的缺陷图19种钢板缺陷种类1.结疤:钢板表面出现不规则的“舌状”、“鱼鳞状”或条状翘起的金属起层2.夹杂:钢板表面出现不规则的“舌状”、“鱼鳞状”或条状翘起的金属起层3.分层:是基材内部的夹层,这种缺陷不一定出现在表面上,往往表现为单面或双面鼓泡4.抓痕:钢板表面呈现的深浅不等,类似于鸡爪形状的裂纹称为爪裂5.纵裂:钢板表面沿轧制方向具有一定深度和长度的裂纹称为...
2019-03-28 14:52:21 8218
原创 灰度图像特征提取之统计方式详解
灰度图像特征提取之统计方式详解统计方法的优势: 具有较强的适应能力和鲁棒性。统计方法的不足 : 与人类视觉模型脱节,缺少全局信息的利用,难以研究纹理尺度间像素的遗传或依赖关系;缺乏理论支撑;计算复杂度高,实际应用受制约。统计方式的特征提取原理构造灰度共生矩阵,分别从水平、竖直、斜45°来考察图像灰度值的位置关系(纹理特征)。斜45°指的是+/-45°。得出灰度共生矩阵后,利用灰度共生矩阵(...
2019-03-12 20:47:37 13364
Demo1111.zip
2021-02-04
纹理特征提取Matlab程序
2019-03-15
用matlab批量读取xml文件和jpg图片并对处理后的图片保存
2018-12-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人