自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (4)
  • 收藏
  • 关注

原创 图像处理新手入门,最全OpenCV、机器视觉算法电子书合集(干货满满)

图像处理新手入门,最全OpenCV、机器视觉算法电子书合集(干货满满)资源介绍这些图书资源是博主从事视觉方向以来所收集的图书集合,其中包括机器视觉理论图书,opencv应用书籍、图像算法书籍以及本人购买的培训课程资料。(国内视觉大牛张正友、张广军的图书也囊括在内哦!!)。资源截图截图1截图2截图3资源获取方法:扫描下方二维码关注微信公众号:光学三维测量,回复关键字:“光学三维...

2019-08-18 10:56:05 3310 5

原创 知识星球技术目录

本文创建的知识星球名为“3D结构光技术交流”,因为我本文主要研究结构光三维重建方向,因此取这样的名字。当然,星球内所讨论的主题可以涉及如下几个方向:1)主流的结构光三维测量方法,包括:线扫,格雷码,相移,散斑等;2)摄像机标定和投影仪标定;3)点云处理;4)图像处理;5)Halcon应用;6)机器视觉相机选型。关于以上方向的技术问题都可以在星球内发起提问,以下为该星球的邀请二维码和邀...

2019-08-13 06:43:43 840

原创 2020-11-15

Linear Least-Squares Optimization for Point-to-Plane ICP Surface Registration摘要原始的ICP point-to-plane算法出自《Object Modeling by Registration of Multiple Range Images》,该算法收敛速度要快于传统ICP point-to-point算法。不过在根据对应点对计算位姿变换矩阵时,由于point-to-plane形式的目标函数没有封闭解,因此只能采用非线性优

2020-11-15 13:23:07 466

原创 传统ICP点云配准算法

传统ICP配准算法是由Besl和McKay于1992年在《A Method for Registration of 3-D Shapes》论文中提出的。由于其出色的配准效果,受到了广泛的使用和研究,因此繁衍出了后面的point-to-plane、symmtric point-to-plane、plane-to-plane ICP版本(传统ICP是point-to-point)。下面介绍传统的ICP(Iterative Closest Point,迭代最近点)算法。应用对象起初,Besl和Mckay提出.

2020-11-09 14:56:18 1055

原创 CloudCompare2.10.2 + VS2015 插件编写教程

介绍CloudCompare是一款开源的点云处理软件,其功能包括:点云滤波采样三角化基元拟合点云分割法线计算等等。除了包含以上已有的功能外,CloudCompare(下文简称CC)还提供了插件接口,供用户任意添加自己的功能接口。本篇文章主要介绍CC的插件使用。源码编译编译环境VS2015企业版CloudCompare 2.10.2CMake 3.12.0编译过...

2019-12-17 18:57:11 1278

原创 点云重建/点云三角化/网格化

点云重建/点云三角化/网格化rgbd传感器获取的数据通常是大量的三维点,后期的处理过程都是在对这些点的坐标进行处理。而在3D打印邻域,仅仅依靠这些点坐标是无法进行打印的。而点云网格化就可以把点云转换为mesh模型(类似UG/Solidworks软件到处的模型),有了mesh模型后,就可以进行后续的打印了。点云网格化点云网格化是使用一系列的网格来近似拟合点云,在图形学中,一般使用三角网格和四角...

2019-12-07 17:34:56 15069 4

原创 vs2013编译eigen

vs2013编译eigen其实eigen库本身是只有头文件了,但是为什么还需要重新编译呢?因为下载的eigen源码中没有把头文件单独独立出来,所以在配置库的时候不方便,因此需要对其进行重新编译。编译流程下载eige源码;到下载链接下载eigen源码;解压缩,根据下图使用cmake按照进行编译,生成vs工程;打开build目录中的eigen.sln工程,先编译allbuild项...

2019-10-20 09:57:43 568

原创 如何编写高精度的相机标定程序?

如何编写高精度的相机标定程序?熟悉机器视觉的朋友肯定都接触过相机标定,目前有各种各样的途径来完成相机标定,其中开源的有opencv和matlab;商业软件有VisionPro,Halcon。opencv和matlab中比较常用的标定图案是棋盘格标定板,Halcon中使用的是网格圆,其中由于圆形图案的提取精度高于棋盘格,因此,许多高精度的相机标定软件都是使用的是圆/圆环作为标定图案。因此,如何使用...

2019-09-05 14:42:37 3577 2

原创 单目-线激光三维扫描系统中光刀平面的标定

单目-线激光三维扫描系统中光刀平面的标定线结构光有结构简单、精度高、测速快等特点,被广泛应用于三维重建领域。线结构光三维扫描系统由一个相机和一个线结构光投射器构成,线结构光投射器将线结构光投射到被测物体表面,相机采集带有线激光的被测物体图像,根据相机和线激光投射器间的相对位置关系,使用激光三角法计算出激光线上的点在相机坐标系下的坐标。激光三角法原理如下图所示,线激光投射的扇形区域可以看作是一...

2019-08-30 13:06:53 5597 4

原创 windows编译boost

windows编译boost流程下载boost源码到SOURCEFORGE下载任意版本的boost库;解压缩;双击执行解压缩目录中的文件“bootstrap.bat”,执行完成后将会在相同目录下生成“b2.exe”,“bjam.exe”文件;* 执行以下命令进行编译过程;编译64位动态库:b2.exe install --toolset=msvc-12.0 --prefix=...

2019-08-30 07:11:39 604

原创 三维扫描仪中投射模块/投影仪推荐

三维扫描仪中投射模块/投影仪推荐具有外触发功能的投射模块TI的DLP产品特点:具有sdk,使用手册详细;产品系列丰富,基本上需要的配置(亮度)都能找到;价格比较贵;具有蓝光和白光。tj投射模块特点:具有开发sdk(C++);产品系列比较少;价格适中;具有蓝光和白光。我个人认为这家的产品还不错。巨维达投射模块特点:这是群友推荐的,具体特点未知。不过他们家竟然有700lm的投射...

2019-08-28 16:09:13 1475 1

原创 四轴平面机器人的手眼标定

四轴平面机器人的手眼标定介绍在实际的机器人应用中,通常会给机器人配备视觉传感器,视觉传感器用于感知周围环境。但是,通过视觉传感器获取的场景坐标是基于视觉坐标系下的,机器人并不能直接使用,要获取机器人可以直接使用的坐标信息,必须将坐标转换到机器人坐标系下。因此,机器人手眼标定的目的是为了获取从视觉坐标系转换到机器人坐标系的转换矩阵。机器人手眼标定问题可以分为两类:1)eye-in-hand,...

2019-08-26 20:33:48 4338 3

原创 matlab投影仪标定

matlab投影仪标定matlab中的投影仪标定方法属于投射标定图案法,投射的图案只能是棋盘格,该方法将投影仪当作逆向的相机,它具有映射图像二维点到三维坐标的功能,因此可以使用张正友标定方法来对它进行标定。投影仪标定图像的获取获取图片的过程按照投射标定图案法博客中来做就可,需要注意的是,我推荐大家在进行投影仪标定之前先标定好相机,不要将相机和投影仪放在一起标定。因为,在投影仪标定中,需要考虑...

2019-08-25 16:18:10 2673 1

原创 双目线激光三维扫描技术原理剖析

背景激光扫描三维测量技术凭借其非接触、精度高、适用范围广等优点,目前已经成为工业领域中不可或缺的技术,具有很高的研究价值。该项技术被广泛用于产品缺陷检查、自动化装配、尺寸测量、文物重建和视觉导航等领域,具有非常高的实用价值。原理本文介绍的是一种基于线激光扫描和双目立体视觉相结合的三维测量系统,该种线激光扫描系统可以避免传统单相机扫描技术中标定激光平面的过程,提高三维测量精度。该测量系统由两个...

2019-08-23 16:13:29 9170 12

原创 三角测量—立体视觉中重建三维点坐标公式推导(有源码)

三角测量—立体视觉中重建三维点坐标公式推导(有源码)通常在立体视觉三维测量的应用开发中,需要由左、右图像对应点计算出该点在相机坐标系下的坐标。在opencv中,提供了triangulatePoints函数用于计算立体矫正模式下的三维坐标的计算方法,而没有提供非矫正模式下的计算方法。本文将介绍非矫正模式下如何由图像对应点计算对应的三维点坐标。关于针孔相机模型的讲解已有太多博文描述了,本文对它不做...

2019-08-15 12:49:49 4652 3

原创 投影仪标定的几种思路

投影仪标定的几种思路单相机-投影仪的结构光三维重建系统中,投影仪标定是必不可少的步骤。通常,会将投影仪当作逆向的相机来进行标定。下面,将会介绍几种投影仪标定方法。相位法(精度高、实现较难)该种方法将投影仪当作逆向的相机模型来进行标定,通过计算投影仪投射的相位信息计算出世界坐标系z=0平面和投影仪“成像平面”之间的关系,具体标定步骤如下:S1:按照合适的角度固定好相机和投影仪,标定过程中...

2019-07-30 15:36:34 9473 23

原创 opencv4 QR码检测和识别源码解析

opencv4 QR码检测和识别源码解析opencv4新增功能之一——QR码检测和识别。下面简要介绍其算法步骤。算法流程缩放图片;opencv中设定待检测的图片最小维度为512,因此,如果图片的宽/高小于512话,将会保持长宽比缩放到512;阈值化;采用自适应阈值方法对图片进行阈值化,自适应窗口大小为83;搜索定位图案(回字);因为三个点位点黑白间隔的宽度是1:1:3:1:1,所以先进...

2019-06-16 11:09:06 2433

原创 机器人手眼标定 (四轴六轴都适用)

机器人手眼标定 (四轴/六轴都适用)问题解析​ 机器人手眼标定分为两种情况:eye-in-hand和eye-to-hand,即传感器是否安装在机器人手抓末端。不管是那种情况,手眼标定的科学问题都是求解AX=XD的问题,其中X为刚体变换矩阵,包含旋转和平移两个部分。通常关于该问题的求解方法分为两类:1)先求解旋转矩阵,再计算平移向量;2)同时求解旋转矩阵和平移向量。(1)CX=XDCX=XD...

2019-05-29 05:36:41 8189 9

原创 二维直线拟合--opencv实现

二维/三维直线拟合–opencv实现​ Hough变换可以提取图像中的直线,但是提取线的精度不高,然而我们的很多场合下需要精确估计直线的参数,这时就需要进行直线拟合。​ 直线拟合的方法有很多,比如:一元线性回归就是一种最简单的直线拟合方法,但是这种方法不适用于提取图像中的直线。因为这种算法假设每个数据点中的x坐标是精确的,Y坐标是带有噪声的,可是在实际的图像中,我们所提取到的点坐标的x、y坐标...

2019-05-26 15:04:59 1435

原创 编码标志点识别

编码标志点识别概念编码标志点是摄影测量中不可缺少的部分,每个编码标值对应不同的唯一码值,使得其在图像识别中具有重要的应用的价值。编码标志点种类比较多,常见的如图1所示。图1 常见的编码标志点其中,位于中心的圆或十字标记提供了可以精确定位的坐标,位于周围的环形带、线段或者圆形提供了可以根据特定规则解码的编码。设计编码标志点本博客采用图1b的编码方法来设计编码标志点图案,如图2所示,中心...

2019-05-07 20:55:34 8028 6

原创 双目散斑立体视觉系统原理解析

概念在目前的消费级3D传感器中,双目立体视觉是比较常见的结构。然而,本文所讲的双目散斑立体视觉系统与单纯的双目立体视觉有些不同(最终使用的原理是一样的)。双目散斑立体视觉系统由两个相机和一个随机散斑投射器组成,有人可能会把该种结构归类为结构光系统,不过从计算方法上来分,它还是属于双目立体视觉。原理图1 立体视觉系统在传统的双目立体视觉中(如图1所示),核心问题是如何从匹配图像中找到对应于...

2019-05-06 22:10:19 4570 8

原创 光学三维测量技术综述

背景三维成像技术在过去的几十年里已经取得了巨大的发展,并且出现了各种各样的方法,比如飞行时间发(TOF)、立体视觉、结构光以及数字条纹投影技术。以上这些技术中的每一种都是为了克服其它技术的缺陷来开发的,并且在某些特别的领域取得了成功。飞行时间法飞行时间法是一种类似于蝙蝠的超声波系统的光学方法,该方法记录光点离开发射器并且从物体上返回到接收器的时间,由于光速近似恒定不变,被测物体的深度信息可以...

2019-04-21 15:49:55 4194

原创 双目格雷码结构光三维测量系统原理解析

背景比较经典的光学三维测量方法有:双目立体视觉、线激光扫描、格雷码结构光、相移结构光。立体匹配方法误匹配点较多,线激光方法扫描速度慢,相移结构光方法计算效率低,而格雷码方法基本具有以上一个方法的所有优势,唯一的缺点是解码精度为像素级,大大限制了测量精度的提高。尽管如此,该方法还是受到了非常广泛的应用。原理本文介绍的是一种基于格雷码结构光和双目立体视觉的三维测量系统,该测量系统可以避免传统单相...

2019-04-20 16:56:55 10112 10

原创 opencv迭代去畸变算法(含源码分析)

函数简介 opencv中函数undistortPoints()用于对图像点坐标进行去畸变,以下为该函数解释:void undistortPoints(InputArray src, OutputArray dst, InputArray cameraMatrix, InputArray distCoeffs, InputArray R=noArray(), InputArray P=n...

2019-03-14 16:25:04 3389

原创 Structure From Motion(SFM)入门讲解

概念: Structure From Motion(SFM) 是从一系列包含视觉运动信息的多幅二维图像序列中估计三维结构的技术。 SFM和立体视觉的区别 在立体视觉中,两个相机之间的相对位姿是通过标定靶精确标定出来的,在重建时直接使用三角法进行计算;而在SFM中该相对位姿是需要在重建之前先计算的。 关键的公式 式中:x′为右相机坐标系中的三维点坐标,x为左相机坐标系...

2019-03-12 18:36:30 17638 5

triangulate.rar

该资源是一个vs2013工程源码,代码功能是:给定立体标定的参数,输入左、右图像的对应点(不需要立体校正),计算出空间三维点坐标。并且,代码中还给出了计算标定板三维坐标的案例。具体算法原理见https://blog.csdn.net/Stones1025/article/details/99630120

2019-08-15

qt自定义插件的创建

qt自定义插件的创建,可以用于大型软件的编写,作为软件后期功能添加的一种方法。

2018-03-01

C++进阶级书籍

在入门的基础上想进一步提高自己编程能力的同学可以看一下

2017-05-21

使用C++管道实现进程间的通信,ui是基于qt开发的。

使用c++中的管道实现两个进程间的通信,文件中有服务器端和客户端两个部分,全部是基于qt写的。

2017-05-17

空空如也

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

TA关注的人

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