
多视角线扫成像/点云处理/机械臂抓取
1、单、多视角线激光扫描三维成像(涉及的方案涉及、标定算法、图像处理等内容)
2、点云处理(针对线激光扫描三维成像获得的点云数据,采用PCL点云库进行处理,常用的点云处理算法)
3、机械臂抓取(根据目标三维数据,计算目标位姿信息,涉及配准,手眼标定、tcp标定等内容)
4、项目涉及到的其他补充内容
一叶孤舟渡
这个作者很懒,什么都没留下…
展开
-
【多视角线扫成像/点云处理/机械臂抓取】专栏目录
【专栏目录】多视角线激光扫描三维成像PCL点云处理ABB六轴机械臂抓取原创 2022-05-16 20:03:27 · 1087 阅读 · 0 评论 -
代码:steger算法提取激光条纹中心线(主函数)
主函数,steger原创 2022-06-29 23:33:05 · 3928 阅读 · 4 评论 -
代码:PCD格式与TXT格式互相转换
pcd和txt格式互相转换原创 2022-06-12 16:50:09 · 1460 阅读 · 3 评论 -
代码:拟合法求解激光中心线(matlab)
拟合法原创 2022-06-08 20:35:53 · 1111 阅读 · 3 评论 -
代码:极值法求解激光中心线(matlab)
极值法原创 2022-06-08 20:34:40 · 703 阅读 · 0 评论 -
代码:模板法求激光中心线(matlab)
模板法原创 2022-06-08 20:33:47 · 642 阅读 · 0 评论 -
代码:灰度重心法求激光中心线(matlab)
灰度重心法原创 2022-06-08 20:32:47 · 2274 阅读 · 0 评论 -
代码:骨架提取中心线(matlab)
骨架提取原创 2022-06-08 20:31:39 · 2006 阅读 · 0 评论 -
代码:中心法&边缘法求激光中心线(matlab)
中心法&边缘法原创 2022-06-08 20:30:15 · 768 阅读 · 0 评论 -
代码:matlab对stl模型切片(显示切片处的三角形的三顶点)
stl模型切片相关原创 2022-06-08 20:23:59 · 1880 阅读 · 2 评论 -
代码:matlab读取点云文件
matlab读取点云原创 2022-06-08 20:19:31 · 858 阅读 · 0 评论 -
matlab点云去噪(KNN去噪,聚类去噪)
点云去噪:KNN去噪,聚类去噪。附带点云素材下载链接原创 2022-06-08 20:13:36 · 1609 阅读 · 0 评论 -
相机标定教程(使用Matlab工具箱)
matlab相机标定工具箱使用教程原创 2022-05-16 20:32:02 · 2133 阅读 · 0 评论 -
PCL点云处理专栏目录
本文为【PCL点云处理专栏目录】,方便大家更好的阅读!原创 2022-05-06 20:20:09 · 1040 阅读 · 0 评论 -
代码:获取棋盘格标定板的角点坐标(matlab)
使用matlab,读取标定板图像detectCheckerboardPoints()函数获得棋盘格规格和像素坐标输入棋盘格尺寸generateCheckerboardPoints()函数计算的到棋盘格的世界坐标,即物理坐标clcclearclose all% 输入图片imageFileName ='1.jpg';% 角点检测,求像素坐标[imagePoints, boardSize, ~] = detectCheckerboardPoints(imageFileName);...原创 2022-05-05 18:50:58 · 4002 阅读 · 0 评论 -
代码:法向质心法提取线激光条纹中心线(CPP+OpenCV)
🥰WELCOME🥰🔥🔥🔥欢迎来到K❤️J的空间🔥🔥🔥 💞💞💞本文主要讲解法向质心法提取中心线💯!💞💞💞🤩写在前面🤩首先使用灰度重心法提取中心线,然后计算光条的初始法向,在法线方向求解最终的中心线坐标🕛 人的才能像挂钟一样,如果停止了摆动,就要落后了~🕛🤩博客内容🤩#include <iostream>#include <opencv2/opencv.hpp>//亚像素灰度值计算float ijpixel(float x, float y, cv:..原创 2022-04-27 19:01:24 · 3844 阅读 · 0 评论 -
【必备知识】摄像机标定基础理论
🥰WELCOME🥰🔥🔥🔥欢迎来到K❤️J的空间🔥🔥🔥 💞💞💞本文主要讲解摄像机标定基础理论💯!💞💞💞🤩写在前面🤩这里主要是分享在单线结构光扫描中的标定基础理论、摄像机标定方法,并展示了在halcon平台实现的单相机线激光扫描案例。笔记由三部分内容构成: 标定的基础理论、摄像机标定方法和单相机线激光扫描案例🕛 人的才能像挂钟一样,如果停止了摆动,就要落后了~🕛🤩博客内容🤩✨标定基础理论✨✨视觉成像与视觉测量✨视觉成像:三维空间的物体在二维平面上的呈现。视觉成像过程本质上是三..原创 2022-04-23 10:48:52 · 5102 阅读 · 3 评论 -
【必备知识】线激光扫描三维成像原理
🥰WELCOME🥰🔥🔥🔥欢迎来到K❤️J的空间🔥🔥🔥 💞💞💞本文主要讲解线激光扫描三维成像的算法实现原理💤,基于这篇文章介绍🗺️,期待你对此类三维重建方法有一个清晰的认识~💯!💞💞💞> 💞💞💞专栏更新中~💞💞💞🤩写在前面🤩通过三维测量方法获取目标物体表面三维数据,本文将介绍线激光扫描三维成像原理~笔记主要是关于自己在线激光扫描三维测量领域的一些认识,介绍了相关的实现原理和算法。笔记由两部分内容构成: 原理介绍和算法介绍🕛 人的才能像挂钟一样,如果停止了摆动,就要落后了~🕛..原创 2022-04-22 14:03:45 · 15209 阅读 · 17 评论 -
代码:细化法+灰度重心法提取线激光条纹中心线(CPP+OpenCV)
先使用细化法去进行激光中心线的粗提取,在此基础上应用灰度重心法进行中心线的精提取。#include<opencv2/core/core.hpp>#include<opencv2/calib3d/calib3d.hpp>#include<opencv2/highgui/highgui.hpp>#include<opencv2/imgproc/imgproc.hpp>#include<iostream>#include<fstre.原创 2022-04-21 21:53:47 · 2751 阅读 · 0 评论 -
代码:方向模板法提取线激光条纹中心线(Matlab)
方向模板法是考虑了光条的方向,常见的有四方向模板,即水平、垂直、左倾45°、右倾45°四个偏移方向。clear;clcI = imread('1.png');img = imread('1.png');if ndims(I) == 3 I = rgb2gray(I);endthresh =20;[r,c] = size(I);for i = 1:r for j = 1:c if I(i,j) < thresh I(i,j) .原创 2022-04-21 20:01:18 · 1730 阅读 · 0 评论 -
代码:骨架提取法提取线激光条纹中心线(CPP+OpenCV)
细化法(又称形态学骨架法)是通过对光条纹不断地进行腐蚀操作,剥离光条纹边界,得到单像素宽度的光条纹连通线(又称骨架)的形态学处理方法。该方法是通过细化技术,将光条纹区域的细化曲线作为光条纹中心线。 由于细化法是基于形态学的方法,只是对光条纹骨架进行提取,没有考虑到光条纹的横截面灰度分布特点。因此,细化法提取的光条纹中心线精度有限。另一方面,由于该方法需要大量时间来进行反复的细化操作,提取算法的运算速度被大大降低。#include <opencv2/opencv.hpp>#include .原创 2022-04-21 19:55:37 · 1567 阅读 · 0 评论 -
代码:Steger算法提取线激光条纹中心线(CPP+OpenCV)
最近一直在做线结构光扫描三维成像方面的内容,采用结构光进行扫描检测时,需要提取激光条纹的中心线,我利用Steger算法提取激光中心线的亚像素坐标。下面先介绍一下steger算法的运行思路:(借鉴的别人的总结,直接截图白嫖过来了)根据算法思路,我们①输入图像②图像处理③利用高斯模板与图像卷积构造hessian矩阵④求解hessian的特征值得到光条的法线方向⑤法线方向泰勒展开获得亚像素位置⑥选择合适的像素点,此时获得的是像素坐标(x0,y0),和对应的(tnx,tny)相加获得亚像素坐标。.原创 2022-04-21 19:52:26 · 4245 阅读 · 0 评论 -
代码:极值法提取线激光条纹中心线(CPP+OpenCV)
按行(列)扫描,将光条截面灰度最大值的像素点作为光条中心点。易受噪声影响。#include <opencv2\opencv.hpp>#include <iostream>#include <opencv2\imgproc\types_c.h>using namespace cv;using namespace std;// 极值法int Max_Value(Mat Src, int i){ Mat dst = Src.clone(); .原创 2022-04-21 19:48:33 · 1259 阅读 · 0 评论 -
代码:灰度重心法提取线激光条纹中心线(CPP+OpenCV)
灰度重心法是根据每行光条纹横截面内的灰度分布特征逐行进行处理,通过在行坐标的方向上,逐行计算提取光条纹区域的灰度重心点,并将该点用来代表该截面的光条纹中心点位置,最后将所有中心点拟合形成光条纹中心线。灰度重心法计算光条纹中心点的公式(光条纹第v列的灰度重心坐标):图像包含U行、V列的图像中坐标(u, v)处的像素灰度值为I(u,v),其中u=1,2,3,…,U; v=1,2,3…,V。灰度重心法提取光条纹中心线时运算速度快,实时性好。但是易受图像中的噪点干扰,导致中心线坐标偏移。#include.原创 2022-04-21 19:43:09 · 2750 阅读 · 0 评论 -
代码:均值滤波处理线激光条纹图像
输入图像—>转灰度图像—>均值滤波close allclear clcsrc_image = imread('1.bmp');image = rgb2gray(src_image);[m, n] = size(image);%模板大小k = 3;myFilter = zeros(k, k, 'uint8');for i = 1 : k for j = 1 : k myFilter(i, j) = 1; endendimage2 .原创 2022-04-21 19:36:18 · 624 阅读 · 0 评论 -
代码:中值滤波处理线激光条纹图像
输入原图—>转灰度图像—>中值滤波close allclear clcsrc_image = imread('1.bmp');image = rgb2gray(src_image);[m, n] = size(image);%模板大小k = 3;myFilter = zeros(k, k, 'uint8');for i = 1 : k for j = 1 : k myFilter(i, j) = 1; endendimage3.原创 2022-04-21 19:33:24 · 1089 阅读 · 0 评论 -
【必备知识】:线激光条纹中心线提取算法导读
线激光条纹特性线激光器是由点激光器和前置透镜组成的。点激光器可以为He-Ne激光器或半导体激光器。相比较He-Ne激光器,半导体激光器因其输出光源具有发散性,更适合用于制作线激光器。需要说明的是,半导体激光器产生的点光源是高斯形状的。图中,激光束剖面成Gaussian分布,光条中心点的提取正是根据这个特性来进行的。线激光条纹根据其生成机理,其横截面可以用高斯模型来描述:线激光条纹中心线传统提取算法线激光投射在目标物体表面,相机采集目标物体表面受高度调制的形变线激光条纹,由于线激光原创 2022-04-21 19:19:47 · 2482 阅读 · 0 评论 -
标定代码:CPP+OpenCV实现张正友标定法
#include <opencv2/core/core.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/calib3d/calib3d.hpp>#include <opencv2/highgui/highgui.hpp>#include <iostream>#include <fstream>#include <vector>using原创 2022-04-17 12:31:35 · 1587 阅读 · 3 评论 -
标定代码:Python+OpenCV实现张正友标定法
输入靶标图像坐标和世界坐标,需要图像尺寸已知运行下面代码import cv2import numpy as npimport math#定义函数def get_data( data_name): file = open(data_name) dataMat = [] temp = [] for index, line in enumerate(file.readlines()): curLine = line.strip().split('\t.原创 2022-04-17 12:27:38 · 949 阅读 · 0 评论 -
标定代码:张正友标定法(matlab工具箱&自编程序)(matlab)
张正友标定法详细讲解,包括代码实现原创 2022-04-17 12:17:02 · 2575 阅读 · 0 评论 -
激光平面标定代码:不共线三点确定一个平面(matlab)
标定原理激光平面标定过程根据交比不变性,可以根据两已知点坐标求解中间点坐标。以A点为例,假设A1点图像坐标值为(x1,y1),世界坐标值为(XAw1,YAw1);A2点图像坐标值为(x2,y2),世界坐标值为(XAw2,YAw2);A点图像坐标值为(x,y)。由于立体靶标的特征量在设计时已经明确,知道|A_1 A_2 |=7mm,A的唯一世界坐标值为(Xw,Yw,Zw):代码实现main.m% % %% 光平面标定,计算光平面方程。x1=2.4005;y1=42;z1=0;%点一原创 2022-04-17 11:54:14 · 2970 阅读 · 0 评论 -
标定代码:Tsai两步标定法(matlab)
Tsai两步标定法原理讲解,代码实现。原创 2022-04-17 11:40:57 · 2533 阅读 · 1 评论 -
代码:基于移动平台的多线激光扫描的石膏头像三维重建
本文装置基于一维运动平台-传送带,可以实现单视角线激光扫描三维重建,也可实现多视角多线激光扫描三维重建。内容包括:标定工作(相机标定、光平面标定、扫描方向标定、多相机全局标定)、激光中心线提取工作、图像和点云处理工作等等。原创 2022-03-20 10:28:42 · 3493 阅读 · 3 评论 -
基于移动平台的线激光扫描物体三维重建
接下这段时间将整理下列内容:标定相关:相机标定、光平面标定、扫描方向标定、多相机全局标定、机械臂手眼标定、工具(TCP)标定。成像相关:图像去噪技术、线激光条纹中心线提取技术(中心法、边缘法、灰度重心法、骨架提取法、曲线拟合法、steger算法等)点云相关:点云去噪技术、多视角点云拼接技术、模型切片技术、点云配准技术(ndt、icp、fpfh等)、点云拼接融合技术、点云尺寸计算等。...原创 2022-03-19 23:29:37 · 5075 阅读 · 0 评论 -
PCL(44)欧式聚类提取
#include <pcl/ModelCoefficients.h>#include <pcl/point_types.h>#include <pcl/io/pcd_io.h>#include <pcl/filters/extract_indices.h>#include <pcl/filters/voxel_grid.h>#include <pcl/features/normal_3d.h>#include <pcl原创 2021-03-17 09:50:47 · 483 阅读 · 0 评论 -
PCL(43)计算点云平面的质心
#pragma warning(disable:4996)#include <iostream>#include <pcl/point_cloud.h>#include <pcl/point_types.h>#include <pcl/common/centroid.h> //中心?#include <pcl/io/ply_io.h>#include <pcl/visualization/pcl_visualizer.h>原创 2021-03-15 09:24:15 · 1090 阅读 · 0 评论 -
代码:相机标定C++程序
//**************************************// 文件名字: // 文件功能: //=====================================// 生成日期: 2021年1月15日// 生成时间: 14:51// 作者: K♥J// 版本号: v1.0.0.0// ====================================// Copyright © K♥J(康杰)// ===================原创 2021-01-15 15:24:25 · 1179 阅读 · 0 评论 -
PCL(42)扫描数据与模板数据进行匹配
#pragma warning(disable:4996)#include <limits>#include <fstream>#include <vector>#include <Eigen/Core>#include <pcl/point_types.h>#include <pcl/point_cloud.h>#include <pcl/io/pcd_io.h>#include <pcl/kdtre原创 2021-01-07 14:58:03 · 407 阅读 · 0 评论 -
PCL(41)交互式迭代最近点配准
#pragma warning(disable:4996)#include <iostream>#include <string>#include <pcl/io/ply_io.h>#include <pcl/point_types.h>#include <pcl/registration/icp.h>#include <pcl/visualization/pcl_visualizer.h>#include <pc原创 2021-01-07 14:16:13 · 275 阅读 · 0 评论 -
PCL(40)NDT配准
#pragma warning(disable:4996)#include <iostream>#include <pcl/io/pcd_io.h>#include <pcl/point_types.h>#include <pcl/registration/ndt.h>#include <pcl/filters/approximate_voxel_grid.h>#include <pcl/visualization/pcl_vis原创 2021-01-07 13:57:43 · 447 阅读 · 0 评论