自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(28)
  • 资源 (11)
  • 收藏
  • 关注

原创 PCL提取点云边界轮廓

提取点云边界轮廓#include <iostream>#include <vector>#include <ctime>#include <boost/thread/thread.hpp>#include <pcl/io/ply_io.h>#include <pcl/io/pcd_io.h>#include <pcl/visualization/pcl_visualizer.h>#include <

2020-06-28 17:31:25 14863 17

原创 解决OpenCV捕捉USB摄像头时抓帧失败的问题

videoio(MSMF): can’t grab frame. Error: -2147024809这个报错显示为抓帧失败,以前从来没遇到过这个问题,程序是最简化的程序了肯定不会有问题,一度怀疑是相机不能用。我的输出结果如下图所示,说明我的外接设备的ID是0,问题是我最开始的ID就是VideoCapture cap(0);按理说没问题才对啊?2.一般来说电脑能够外接数量也是有限的,电脑相机的ID无非是0、1、2,所以外接设备的ID号也应该是其中之一,如果有多个摄像头无法确定其对应的ID,可以参照。

2022-10-09 02:05:08 6242 1

原创 Message from debugger: debug-server is x86_64 binary running in translation, attached failed.

根据网上的方法,我已经检查了 Xcode 的“使用 Rosettea 打开”选项,但它仍然没有在 M1芯片上运行成功。故而该方案对我不适用。找到Edit Scheme -> Run -> Debug excitable,取消该选项即可运行成功。

2022-09-13 16:40:27 1573

原创 【Metal学习笔记】--02.调用Metal-cpp从零编写C++程序

由于Metal API的原生环境是苹果系统,其编写使用的语言基本是object-c(.m格式的文件)或者swift(.swift格式的文件)。这两种语言对于c++使用者来说比较陌生,为了解决这个问题,苹果推出了metal-cpp接口,支持用c++去开发Metal了。此时说明使用c++调用Metal-cpp成功,至此你已经学会了如何将metal-cpp的头文件和最简单的c++程序结合使用了。根据官方文章中的内容,首先要确保 Xcode 版本在 9.3 以上,并且要使用 C++17 的语法。

2022-09-05 17:00:48 1966

原创 【Mac系统下配置gitlab的SSH Key密钥时git clone无法拉取】

第一次使用mac系统的电脑配置SSH密钥,公司的项目都放在gitlab上托管,所以想从gitlab上clone下来项目的话就要配置SSH Key,然后才能使用Clone with SSH拉取文件。3.配置完成后直接git中输入git clone xxx就可以像上面一样拉取了,注意一定要输入yes, 输入yes之后,.ssh文件下就会自动添加进来known_hosts文件了。成功的话会在~/下生成.ssh文件夹,进去,打开id_rsa.pub,复制里面的key。才能顺利clone,千万记得!......

2022-08-31 15:24:42 7463

原创 【Metal学习笔记】--01.运行官方demo

Metal简介:Metal 提供了低开销 API、丰富的着色语言,图形与计算之间紧密的集成,以及一套出色的 GPU 性能分析和调试工具,来支持 Apple 平台上的硬件图形加速。

2022-08-24 12:30:48 993

原创 Meshlab软件测量出来的尺寸单位是什么?

使用meshlab软件的测量工具时,尺寸的单位如何确定

2022-06-19 10:01:17 1319

原创 CUDA学习笔记(对图像进行并行加速运算)

在对CUDA的kernel函数有了一定了解之后,就可以对图像进行多线程加速计算,下面是我在CPU和GPU上各自遍历一张图像,对比两者的性能差异。这里需要用到opencv的函数读取图像以及显示图像,因此opencv的头文件需要包含进去。其他的注意事项主要是图像的内存分配和存储类型问题,比如彩色图像是三通道的,申请的内存为row * col * sizeof(uchar3)。首先在CPU上遍历一张彩色图像的所有像素: for (int i = 0; i < row; i++) { for (i

2022-01-10 17:57:03 6783 2

原创 CUDA学习笔记(使用 CPU和GPU 计时器)

在使用CUDA 提升加速计算时,有时会需要和CPU运算的时间做一个对比,以此计算性能提升指标。在CUDA中,event (事件) API 提供创建和销毁事件、记录事件(包括时间戳)以及将时间戳差异转换为以毫秒为单位的浮点值的调用。CPU计时器当计算程序在CPU中执行的时间,可以用#include “time.h”头文件。C/C++中的计时函数是clock(),而与其相关的数据类型是clock_t,其中clock_t用来保存时间的数据类型。clock_t start, finish; //定义计

2022-01-07 20:46:29 1555

原创 CUDA学习笔记(大白话入门课程)

CUDA的基本概念:CUDA是NVIDIA公司推出的并行计算框架,只能基于自家GPU的硬件平台进行性能加速运算,所以使用CUDA编程的前提是必须要有NVIDIA的显卡。主流的深度学习框架也都是基于CUDA进行GPU并行加速的,几乎无一例外。还有一个叫做cudnn,是针对深度卷积神经网络的加速库。与之相类似的并行计算框架还有苹果公司推出的OpenCL,OpenCL其优势在于跨平台性和通用性,更像是一个开放标准,按理说OpenCL会更加受欢迎,但是由于NVIDIA公司在GPU显卡领域一家独大,市场份额独

2022-01-05 14:23:29 1243

原创 将三维模型转成txt三坐标格式的点云数据

方法:1.从3DMAX软件中绘制导出.obj格式的模型2.用MeshLab软件将.obj格式转换成.ply3.用matlab软件程序将.ply格式转出.txt三坐标点输出如果想生成镂空形式的点云需要在3dmax中使用晶格来生成模型。首先找到晶格命令:修改参数生成镂空模型转成.ply格式格式后用matlab程序输出.txt文本格式坐标。镂空球体如下图:![去](https://img-blog.csdnimg.cn/20210313143852867.png.txt格式点云:

2021-11-17 19:13:38 3085 2

原创 使用Matlab工具箱(procamcalib)进行投影仪标定---超详细过程

使用Matlab工具箱(procamcalib)进行投影仪标定—超详细过程一 、procamcalib工具箱应用场景同于相机标定的方法和步骤,投影仪的原理通常被看作是相机成像的逆过程,网上关于相机标定和校准的教程有很多,但投影仪标定的资料一方面另一方面介绍不够详细,对新手不太友好,所以这次分享的主要目的是做成全网目前最详尽的投影仪标定工具箱使用方法说明。procamcalib工具箱是在matlab相机标定工具箱Bouguet’s Calibration Toolbox基础上进行二次开发,从而实现对投

2020-12-08 19:48:14 9532 51

原创 Matlab相机标定工具箱和标定结果评价

投影仪标定工具箱:https://github.com/davidfofi/procamcalib相机标定工具箱:http://www.vision.caltech.edu/bouguetj/calib_doc/download/index.html

2020-07-12 17:56:18 14768 10

原创 双目立体匹配,SFM和MVS三维点云重建的区别和联系

一、双目三维重建(binocular stereo):输入左右两张图片二、SFM(Structure from Motion)运动推断结构:一系列不同视角图片三、MVS(Multi View Stereo)多视图立体:一系列不同视角图片一、双目相机重建步骤:1、双目相机矫正(获得相机内参和外参)2、图像立体矫正(左右两个图片对齐到同一平面)3、立体匹配(对齐后的图片利用极线约束匹配特征点)4、生成视差图(左右相机对应特征点坐标的差值)5、深度图生成点云图(点云质量的好坏与视差图的质量密切相关

2020-07-02 22:34:56 10049 4

原创 PCL滤波—使用索引滤波器过滤地面

PCL滤波—从一个点云中提取一个子集——ExtractIndices滤波器——索引滤波器索引滤波的官方教程添加链接描述使用该方法结合降采样和统计滤波可以很好的完成地面分离。此处是索引滤波头文件#include <pcl/filters/extract_indices.h>此处是重点,距离阈值的参数影响计算速度和地面分割精度,不同模型的参数不一样,一般是0.01-0.2之间取值 seg.setMaxIterations(100); //设置最大迭代次

2020-07-01 22:14:21 2129

原创 PCL滤波--参数化模型投影点云---三维点云投影到二维平面

PCL点云滤波模块,有一种方法叫做参数化模型投影点云滤波,意思就是创建一个参数化模型(可以是平面,球体,椎体等),然后将点云投影到上面,比如说如果投影到平面上,那么就实现了三维降到二维,滤掉了一个维度,也勉强算是滤波吧。掌握了这种方法感觉一下子掌握了宇宙中最强大的能力之一:降维打击!以后看哪个模型不顺眼就拍扁它,哈哈哈~进入正题,虽然感觉牛逼轰轰但是原理很简单,比如我把点云的z方向坐标全都设置为0,那么就实现了向X-Y平面的投影 pcl::ModelCoefficients::Ptr coef

2020-06-30 17:08:39 4725 6

原创 视差图转为深度图

有人容易把视差图跟深度图搞混,一切还是要从这个公式说起:Z=f*B/dZ是深度,B是双目相机的光心间距(基线长度),f是相机焦距,d就是视差(左右相机对应特征像素坐标差值)。而我们说的视差图就是灰度图的灰度值为d的时候,想转化为Z就变成了深度图,所以这是个并不复杂的问题。代码里fx是内参的值,x方向的焦距,baseline是基线长。这里要注意深度图的类型,CV_8UC1不同类型结果会有问题,ushort也是一个问题,总感觉换成其他类型会更好点,不过要是变成了uchar就变成第二张图的效果了,坑也挺多

2020-06-16 11:09:46 14941 23

原创 灰度视差图转彩虹视差图

#include <iostream>#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>using namespace std;using namespace cv;int main(int argc, char** argv){ Mat img = imread("E:\\intern\\depth\\disp0.png", 0); ims..

2020-06-15 20:36:29 1242

原创 PCL把两个点云合并成一个点云

我先把一个人脸分成两半,然后拼接配准之后如左图所示,合并之后如右图所示,保存输出点云模型下载链接在另一篇文章里PCL点云配准官方教程#include <pcl/io/pcd_io.h>#include <pcl/io/ply_io.h>#include <pcl/visualization/pcl_visualizer.h> //可视化头文件typedef pcl::PointXYZ PointT;typedef pcl::PointCloud<P

2020-06-12 18:03:46 17101 2

原创 PCL点云库SAC-IA+ICP点云配准拼接

采用SAC-IA(采样一致性初始配准算法)进行粗匹配得到大概位置,再结合ICP(迭代最近点算法(Iterative Cloest Point, ICP))算法进行精确配准。绿色是源点云,红色是目标点云,蓝色是配准之后的点云)#include <pcl/registration/ia_ransac.h>#include <pcl/point_types.h>#include <pcl/point_cloud.h>#include <pcl/feature

2020-06-10 00:50:21 4239 1

原创 点云配准NDT+ICP

点云配准NDT+ICP#include <iostream>#include <pcl/io/pcd_io.h>#include <pcl/point_types.h>#include <pcl/registration/icp.h>//icp头文件#include <pcl/registration/ndt.h> //ndt头文件#include <pcl/visualization/pcl_visualizer.h>#

2020-06-09 16:25:24 1436 4

原创 PCL点云配准官方教程

这篇文章是PCL官网关于两个点云配准的一个demo,我翻译了一下并做了一点小修改。使用的是ICP算法,该程序将加载点云并对其施加刚性变换。之后,ICP算法会将变换后的点云与原始对齐。每次用户按下“空格”,都会进行一次ICP迭代,并刷新查看器。原文链接:交互式ICP点云配准为了能让小白更直观的理解,我直接说重点(上来就能运行输出结果):1.输入:此处输入两个ply格式的点云,可以是同一个模型,也不一定是不同姿态的两个模型,其中cloud_in是目标点云模型(固定不动,显示为白色),cloud_icp是

2020-06-08 18:01:44 3492 6

原创 PCL库导入点云模型以及常见问题分析

PCL程序运行后先加载所有的点云坐标,被刷屏了,等待时间较长。我上传了免费的兔子点云模型,链接见https://download.csdn.net/download/Asabc12345/12488127#include <iostream> //标准输入输出流#include <pcl/io/pcd_io.h> //PCL的PCD格式文件的输入输出头文件#include <pcl/io/ply_io.h> //PCL的ply格式文件的输入输出头文件#in

2020-06-02 11:27:41 4871 2

原创 双目矫正+测距+深度图+点云

因为只有一个视角的深度图,所以生成的点云图很粗糙只有个轮廓,顶多算是稀疏原始点云。还需要后期点云滤波、多点云拼接。至于为什么会有对称的两个轮廓,我觉得可能生成了左右两个视角的点云图,还有我的相机参数不完全匹配,导致两个分离了没有融合,有时间再研究研究。/******************************//* 立体匹配和测距 *//******************************/#include <pcl/visualization...

2020-06-01 20:56:36 5827 22

原创 由两张视差图生成深度图

由两张视差图生成深度图,SGBM方法输入的是未矫正的图片,BM输入的是校正后的图片在这里插入代码片#include <opencv2/highgui/highgui.hpp>#include <opencv2/core/core.hpp>#include <opencv2/opencv.hpp>using namespace std;using namespace cv;Mat left_img= imread("E:\\picture\\stereo_ca

2020-06-01 20:34:32 4976 1

原创 双目相机的读取和拆分

双目相机的读取和拆分欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入这款型号的双目读出来的是左右拼接在一起的帧,需要另外分割一下使其分离。分辨率有三种格式:640240(分离后左右每帧3

2020-06-01 20:03:29 887

原创 双目相机测距原理图和生成深度图

之前看了很多的示意图,但是感觉讲解和推导都不清楚,所以自己画了一个原理图,看不懂的话可以留言根据上面的原理图可知,Z(深度)只和三个参数有关,即:B(两个相机中心间距), f(相机的焦距) , d(左右对应点的视差)B和f对于固定相机来说是个定制,因此得到视差图后就知道每个点的d值,继而得出每个点的Z深度值。...

2020-05-27 18:01:10 7115 15

原创 常见的问题解决方法——修改Jupyter Notebook的默认存储路径之后

Jupyter Notebook默认保存路径的修改:step1.打开cmd,运行jupyternotebook --generate-config因为我之前更改过,所以出现了overwrite,不用管他,直接看路径去这个文件夹下找到这个文件,右键打开方式用记事本打开。step2.快捷键Ctrl+F,查找 notebook_dir ,找到红框所示内容,更改此段内容#c.No...

2020-04-30 11:31:45 1195

Metal官方使用手册

Metal 框架使您的应用程序可以直接访问设备的图形处理单元 (GPU)。借助 Metal,应用程序可以利用 GPU 快速渲染复杂场景并并行运行计算任务。例如,这些类别的应用程序使用 Metal 来最大化它们的性能: 渲染复杂 3D 环境的游戏 视频处理应用程序,例如 Final Cut Pro 分析和处理大型数据集的科学研究应用程序

2022-08-24

这是一份年薪40W的c++八股文

包括c++语法、数据结构与算法、计算机网络和操作系统相关知识点总结

2022-03-22

使用CUDA进行图像处理的教程

使用CUDA进行图像处理加速

2022-03-17

Reality capture1.2版本

用于图片序列三维重建

2022-03-17

pointcloud.m

将.ply格式转为.txt

2021-03-13

matlab投影仪标定工具箱.zip

基于Bouguet’s Calibration Toolbox工具箱进行二次开发用于投影仪的标定,与相机标定过程有所不同

2020-12-08

TOOLBOX_calib-master

matlab 相机标定工具箱,Bouguet’s Calibration Toolbox,手动输入四个角点

2020-12-08

人脸点云模型(ply)

这是本人采集的人脸点云模型,为了方面练习,我把他拆成了两半,有较大的重叠部分,大家可以用ICP算法联系一下试试效果。

2020-06-08

RealityCapture中文教程.pdf

RealityCapture中文最新版内置超快速草稿模式,在不到10分钟内在笔记本电脑上对齐500x12万像素的图像,realitycapture提供了虚拟数据处理   可以将拍摄的画面转换到软件上建立三维空间   可以将显示物体扫描到软件上构建模型   也可以将图片上的让您通过3D转换生成模型

2020-06-03

上海大学模板.pptx

上海大学ppt官方模版,适合本科生研究生日常汇报科研用,界面清新简洁,适合在此基础上改进使用,不可多得的良品

2020-06-03

Rabit兔子点云模型.zip

加载点云模型导入PCL点云库,有三种格式的点云兔子,压缩包总共有ply/pcd/xyz三种格式,可以结合我的博客内容练习怎么加载显示

2020-06-02

迈迪三维设计工具(Solidworks插件)

迈迪三维设计工具集官方版是需要配合SolidWorks来使用的,迈迪三维设计工具集官方版面向机械师内置丰富设计模型,方便设计师轻松设计三维模型。下载之家为大家提供了迈迪三维设计工具集下载,需要的用户可直接下载使用。

2019-03-02

空空如也

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

TA关注的人

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