2 天上地芒果

尚未进行身份认证

暂无相关简介

等级
TA的排名 5w+

基于MATLAB的随机抽样一致性算法(RANSAC)

网上有许多关于随机抽样一致性算法的介绍,我理解的就是用这个算法可以在一堆离散数据中找到在一条直线上的数据,步骤如下:(1)新建一个ransac_demo.m的脚本,代码如下:function[bestParameter1,bestParameter2]=ransac_demo(data,num,iter,threshDist,inlierRatio)%data:a2xn...

2019-03-13 20:53:33

MATLAB 计算离散点间的夹角

最近的项目中想要在一组离散数组中找到在一条直线上的点,于是想到每三个点计算一下夹角,如果在一条直线上,那么夹角应该在180°左右。代码实现如下:%%数据x,y,z为存放用户数据的mx1的数组%%每三个点求夹角forI=1:m-2a2=(y(I)-y(I+1))*(y(I)-y(I+1))+(z(I)-z(I+1))*(z(I)-z(I+1));b2=(y(I+2)-y...

2019-03-13 20:42:08

c++判断指定路径下的文本文档是否为空

最近项目中要用到这个功能,于是在按钮中添加了几句代码,这只是一部分,所以没写出函数名和返回值,实现功能即可:CStringmy_SaveFilePath;my_SaveFilePath="E:\\VisualStudio2013\\Projects\\test16\\test16\\8-1.txt";//在指定路径下新建文档,命名为“8-1”CDataExport::Expor...

2019-03-01 10:58:09

matlab 霍夫变换——检测圆弧

类似的代码网上一搜全都是,不少代码运行起来各种错误,真正正确的还是要靠自己慢慢尝试和修改。以下是本人亲测,绝对正确可行的代码。首先需要新建两个脚本,功能分别是图像的前期处理和检测圆弧,话不多说,代码实现如下:function[bw]=image_deal(bw)%UNTITLED2Summaryofthisfunctiongoeshere%Detailed...

2018-12-28 10:38:39

MATLAB struct结构体的应用

1. 使用直接引用方式定义结构与建立数值型数组一样,建立新struct对象不需要事先申明,可以直接引用,而且可以动态扩充。比如建立一个复数变量x:x.real=0;% 创建字段名为real,并为该字段赋值为0x.imag=0% 为x创建一个新的字段imag,并为该字段赋值为0x=real:0imag:0然后可以将其动态扩充为数组:x(2).real...

2018-12-25 10:58:05

MATLAB 霍夫变换 连接斜率相同的直线

    基于matlab的霍夫变换的应用,传统的霍夫变换可以检测图像中的直线,但是生活中一般都会出现遮挡物,导致一条直线发生中断,于是在传统霍夫变换的基础上做了修改,进而保证了检测直线的整体性。matlab代码实现如下:%入口图像为BW,出口图像为f%optimizefrommain_optimize,merelyselect2lines,onehaspo...

2018-12-24 20:56:39

MATLAB 求取离散点的曲率最大值

x0=linspace(0.1,2,100);%x0,y0验证函数离散点,可以非等间隔y0=1./x0;h1=abs(diff(x0));h=[h1h1(end)];ht=h;yapp1=gradient(y0)./ht;%matlab数值近似yapp2=del2(y0)./ht;%matlab数值近似k2=abs(yapp2)./(1+ya...

2018-12-20 16:58:18

PCL 常见错误的解决方法

 一:无法解析的外部命令 #definevtkRenderingCore_AUTOINIT3(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkRenderingOpenGL);错误   1   errorLNK2019:无法解析的外部符号"void__c...

2018-12-19 17:25:49

PCL 基于区域生长的分割算法

算法理论:区域生长分割算法广泛应用于图像分割中,二维图像常常采取区域生长分割算法实现图像分割,由于其分割的高效性,现已被应用于3D分割中,PCL中的类PCL::RegionGrowing用来实现点云的区域生长分割区域生长分割是基于点云法线的分割算法,算法的主要思路如下:(1)根据点的曲率值对点云进行排序,曲率最小的点叫做初始种子点,区域生长算法从曲率最小的种子点开始生长,初始种子点所在...

2018-12-07 21:22:57

MFC 实现对话框之间的变量值的调用

最近做项目时,写了一个软件,里面有两个对话框,功能大概就是通过第一个对话框得到两个变量的值,然后用第二个对话框输出相应的数据。网上查到的方法基本都是通过设置全局变量来实现的,但是设置全局变量的方法有很多,众说纷纭,下面介绍一下本人亲测的方法,绝对正确而且简单易懂,话不多说,上图:第一个对话框名为:DlgModeless,第二个对话框名为:DlgModeless1。步骤一:以如下形式在DlgMo...

2018-12-07 21:21:41

VS2013与MATLAB2014a 混合编程:调用DLL

1. VC调用MatlabDLL的方式DLL是一个可执行的二进制文件。把很多通用的功能放在DLL中,可以供各种应用程序调用,这样可以很好的减少外部存储空间的占有量,并实现代码的共享。Matlab也支持将m程序编译成dll,供其他语言(包括VC、VB、Fortran等)调用,下面先简单介绍下MatlabDLL的编译步骤:1.1  MatlabDLL制作(1)配置Matlab的编译器...

2018-12-06 19:52:51

VS的Spin控件和edit控件

对于这类型的控件,我以为是一个整体,应该是edit的一种不同风格,今天找了半天也没发现有现成的这类型的控件。后来网上查找,发现这是edit和spin控件的组合形式。下面介绍一下具体的实现过程。在对话框项目中,随意绘制多个edit和spin控件。 第一步 就是要关联edit和spin。 关联的方式可以是代码实现(用到setbuddy函数)也可以是在控件的属性中设置。此处我们在属性设置...

2018-12-04 19:03:57

VC++ 获取文件路径,已获取当前路径为基础

#include<iostream>#include<windows.h>#include<string>usingnamespacestd;intmain(){ charbuf[1000]; inti=1000; GetCurrentDirectory(1000,buf);//得到当前工作路径 cout<<b...

2018-12-04 09:26:29

MATLAB 直线提取和RANSAC分割

直线提取可以用来在已经存在的地图上构建地图。使用特征代替原始数据显得更加简洁,并且可以反映物理或抽象的对象,同时包含着丰富的信息量,还可以对特征的精度进行评估。分割:有多少条直线,哪些数据点属于哪些直线。直线提取:已知哪些点属于哪些直线,如何去估计曲线的参数。一.直线提取给定激光扫描仪的测量矢量,确定直线的参数。MATLAB源码如下:clc;clear;T=100;...

2018-11-30 10:30:32

PCL 基于RanSaC的点云分割方法

一.点云分割点云分割可谓点云处理的精髓,也是三维图像相对二维图像最大优势的体现。点云分割的目的提取点云中的不同物体,从而实现分而治之,突出重点,单独处理的目的。而在现实点云数据中,往往对场景中的物体有一定先验知识。比如:桌面墙面多半是大平面,桌上的罐子应该是圆柱体,长方体的盒子可能是牛奶盒......对于复杂场景中的物体,其几何外形可以归结于简单的几何形状。这为分割带来了巨大的便利,因为简单几...

2018-11-29 20:49:44

PCL 从深度图像中提取NARF特征

一.关键点的概念 NARF(法线对齐径向特征)关键点是为了从深度图像中识别物体而提出的,关键点探测的重要一步是减少特征提取时的搜索空间,把重点放在重要的结构上,对NARF关键点提取过程有以下要求:①提取的过程必须考虑边缘以及物体表面变化信息在内;②关键点的位置必须稳定的可以被重复探测,即使换了不同的视角;③关键点所在的位置必须有稳定的支持区域,可以计算描述子和进行唯一的估计法向量。为了满足上述...

2018-11-28 20:16:16

PCL 从深度图像中提取边界

一.图像边界 深度图像边界:计从前景跨越到背景的位置定义为边界。具体有:------物体边界:这是物体的最外层和阴影边界的可见点集------阴影边界:毗邻与遮挡的背景上的点集------Veil点集:在被遮挡物边界和阴影边界之间的内插点,它们是有激光雷达获取的3D距离数据中的典型数据类型这三类数据及深度图像的边界如图: 二.代码实现 #include<io...

2018-11-28 19:57:15

PCL 从点云数据创建深度图像(二)

一,点云与深度图像的区别 1.深度图像也叫距离影像,是指将从图像采集器到场景中各点的距离(深度)值作为像素值的图像获取方法有:激光雷达深度成像法,计算机立体视觉成像,坐标测量机法,莫尔条纹法,结构光法。2.点云:当一束激光照射到物体表面时,所反射的激光会携带方位,距离等信息。若将激光束按照某种轨迹进行扫描,便会边扫描边记录到反射的激光点信息,由于扫描极为精细,则能够得到大量的激光点,因而就可形...

2018-11-28 16:14:05

PCL 从点云创建深度图像(一)

这是点云库学习教程书中的代码,运行的时候窗口只出现一下就结束了,不知道是什么问题,希望有大神帮忙解答以下,完整代码如下。#include<pcl/range_image/range_image.h>intmain(intargc,char**argv){ pcl::PointCloud<pcl::PointXYZ>pointCloud; //...

2018-11-21 09:46:53

PCL 点云数据实现旋转、平移

 这里主要介绍点云的平移与旋转,话不多说,代码如下:该代码可实现点云绕z轴旋转90°,绕x轴平移2.5,如果显示无法打开PDB文件,请翻到结尾查看我的解决方法。#include<iostream>#include<pcl/io/pcd_io.h>#include<pcl/io/ply_io.h>#include<pcl/point_...

2018-11-21 09:44:25

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!