MATLAB应用3——深度视觉 奥比中光Astra S显示RGB和深度信息

news2024/11/23 11:25:34

首先从官网下载OpenNI驱动并安装,以及添加环境变量。

MATLAB代码:

% 参考:https://blog.csdn.net/limingmin2020/article/details/109445787

%% 首次使用需编译mxNI.cpp文件,生成mxNI.mexw64

mex mxNI.cpp -IF:\VS2017\VC\Astra_S\OpenNI\Win64-Release\sdk\Include ...

-LF:\VS2017\VC\Astra_S\OpenNI\Win64-Release\sdk\libs ...

-lOpenNI2.lib

之后就可以愉快的玩耍了。

%%

mxNI(0); %初始化

%% RGB

mxNI(14, 12); % 15:1280*1024. 12: 640*480

for i=1:1000

imaRGB = mxNI(3); %RGB

imshow(imaRGB);

end

%% Depth

mxNI(13, 4); % 2: 320*240. 4: 640*480

for i=1:1000

imaDepth1 = mxNI(2); %Depth

% imshow(imaDepth,[]); %黑白图

% colormap jet;

% % colorbar

% pause(0.001);

% imaDepth2 = ind2rgb(im2uint8(mat2gray(imaDepth1)),jet(65535));

imaDepth2 = ind2rgb(im2uint8(mat2gray(imaDepth1)),hsv(256));

imshow(imaDepth2);

end

%% RGB&Depth

for i=1:1000

imaRGB = mxNI(3); %RGB

imaRGB=im2double(imaRGB);

% figure(1);

% imshow(imaRGB);

imaDepth1 = mxNI(2); %Depth

imaDepth2 = ind2rgb(im2uint8(mat2gray(imaDepth1)),hsv(256));

% figure(2);

% imshow(imaDepth2);

ima(:,:,1)=[imaRGB(:,:,1),imaDepth2(:,:,1)];

ima(:,:,2)=[imaRGB(:,:,2),imaDepth2(:,:,2)];

ima(:,:,3)=[imaRGB(:,:,3),imaDepth2(:,:,3)];

imshow(ima);

end

%% 关闭设备。注意不要长时间看红外投影仪,对眼镜有损伤。

mxNI(1);% Closes the device - nothing returned

资料打包:https://download.csdn.net/download/fengyuzhe13/87408247

资料包含的文件:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/193589.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux 内核代码审查人员短缺问题解决方法

导读操作系统安全是现在最重要的事情,而 Linux 则是一个主要被讨论的部分。首先要解决的问题之一就是:我们如何确定提交到上游的补丁已经进行了代码审核? Wolfram Sang 从 2008 年开始成为一名 Linux 内核开发者,他经常在各地召开…

Java三大特性之二——继承(工作、面试、学习必备技能)

目录 继承的概述 继承的特点 继承中的成员变量 继承中的成员方法 方法的重写 继承中的构造方法 super关键字 super和this的区别 继承的概述 多个类中存在相同属性(成员变量)和行为(方法)时,将这些内容抽取到单独一…

【自学Python】Python字符串以某个字符开始或结尾

大纲 Python字符串开头 Python字符串开头教程 在开发过程中,很多时候我们需要判断一个 字符串 是否以某个字符或者是否以某个字符串开始的需求,在 Python 中,判断某个字符串是否以某个字符或者是否以某个字符串开头的函数为 startswith() 。…

TFAPI使用2.0建议

2.5 TFAPI使用2.0建议 学习目标 目标 无应用 无 2.5.2 TF2.0最新架构图 饱受诟病TF1.0的API混乱 删除 queue runner 以支持 tf.data。删除图形集合。API 符号的移动和重命名。tf.contrib 将从核心 TensorFlow 存储库和构建过程中移除 TensorFlow 2.0 将专注于 简单性 和 易用…

【Unity VR开发】结合VRTK4.0:忽略某一层级

介绍: 由前面学习可知: 对象指针将与任何包含碰撞体(甚至是触发器碰撞体)的游戏对象发生冲突,但有时我们希望对象指针完全忽略游戏对象,就好像它不在场景中一样。 例如,如果我们手里拿着一个…

静图怎么做成gif动画图片?三步教你在线生成gif图片

说到gif动图相信大家都不陌生。那么,作为一名软件小白想要自己动手制作专属的gif动态图,要如何操作呢?接下来,给大家推荐一款专业在线gif制作(https://www.gif.cn/)工具-【GIF中文网】,通过两个…

力扣sql简单篇练习(七)

力扣sql简单篇练习(七) 1 销售分析 III 1.1 题目内容 1.1.1 基本题目信息1 1.1.2 基本题目信息2 1.1.3 示例输入输出 a 示例输入 b 示例输出 1.2 示例sql语句 # 所查字段来自同一张表可优先考虑子查询,但需要考虑原表有,关联表没有的这种情况 SELECT p.product_id,p.produ…

GO基本知识学习(一)

文章目录 1 GO基本知识1.1 windows安装1.2 `Go Modules`依赖包查找机制1.3 变量定义1.4 创建一个go项目1.5`go`的变量类型1.6 go的变量初始化1.7 变量作用域1.8 注释1 GO基本知识 ​ 官网地址:https://www.golang.org/ ​ 国内下载地址:https://studygolang.com/dl 1.1 wi…

【springboot进阶】基于starter项目构建(二)构建starter项目-gson

这个系列讲解项目的构建方式,主要使用 父项目 parent 和 自定义 starter 结合。项目使用最新的 springboot3 和 jdk19。本系列的代码仓库看查看 gitee 仓库 的 starter 目录。 这篇我们开始学习创建属于自己的 starter ,实现一些常用模块的封装和自动配置…

Python | 数据类型之集合 | 函数

知识目录一、集合简介1.1 集合的定义1.2 实例二、集合的基本操作三、函数3.1 函数的定义3.2 函数的调用3.3 全局变量和局部变量一、集合简介 1.1 集合的定义 集合(set)是一个无序的不重复元素序列。 可以使用大括号 { } 或者 set() 函数创建集合&…

Hudi系列13:Hudi集成Hive

文章目录一. Hudi集成Hive概述二. Hudi集成Hive步骤2.1 拷贝jar包2.1.1 拷贝编译好的hudi的jar包2.1.2 拷贝Hive jar包到Flink lib目录2.1.3 Flink以及Flink SQL连接Hive的jar包2.2 重启hive2.3 Flink访问Hive表2.3.1 启动Flink SQL Client2.3.2 创建hive catalog2.3.3 切换 ca…

cpanel面板的虚拟主机重装wordpress

cpanel面板的虚拟主机重装wordpress很多朋友购买的虚拟主机都是采用的cPanel面板。想要重装WordPress的话,跟着以下步骤操作即可。登录cPanel管理后台,进入文件管理;删除网站的所有文件(如果有需要请先备份然后下载到本地&#xf…

Ubuntu18.04 gRPC编译安装

一、CMake版本检查 grpc编译cmake要求最低版本为3.15。首先,cmake -version 查看当前cmake版本,如果低于3.15,按照以下步骤进行安装。 1.1 卸载已经安装的旧版的CMake sudo apt-get autoremove cmake 1.2 下载最新版本CMake CMake下载地…

2023年湖北中级工程师职称怎么评?甘建二告诉你

春季开始了,又到了职称评审正式申报提交资料的时候了,很多想评职称的小伙伴都不知道中级职称要怎么评?需要本人提供什么资料?配合哪些事情?怎么评一个中级职称呢?接下来甘建二老师跟您一起来看看&#xff1…

Redis性能问题排查指引

目录 Redis性能问题排查手段 1. 定位问题点 2. 定位Redis具体性能问题 参考: Redis性能问题排查手段 1. 定位问题点 当发生业务系统访问Redis慢或者超时异常时,可能的原因有以下三个: 客户端问题: 如果客户端使用的是Java版…

VueJS 之组件的生命周期

文章目录参考描述生命周期生命周期图示生命周期钩子组件创建阶段组件运行阶段组件销毁阶段举个栗子参考 项目描述搜索引擎Bing哔哩哔哩黑马程序员VueJS官方文档 描述 项目描述Edge109.0.1518.70 (正式版本) (64 位)操作系统Windows 10 专业版vue/cli5.0.8npm8.19.3VueJS2.6.1…

实战30:基于Open CV的车道线检测 附完整代码

车道线检测,在色彩切片、边界提取处,可以选用许多不同的方法来实现。色彩切片处是希望通过车道线的颜色特征:白色或者黄色来提取车道线,白色和黄色单独提取后两者图像相加便得到了同时含有白色车道和黄色车道的图像。色彩切片步骤的关键在于如何获得较为纯净的车道线,以让…

Java JVM:Java 内存模型与线程(七)

衡量一个服务性能的高低好坏,每秒事物处理数(TPS)是重要的指标之一,而 TPS 值与程序的并发能力又有非常密切的关系 目录一、硬件的效率与一致性二、Java 内存模型三、Java 与线程这里是看书笔记,之前文章也有相关介绍&…

操作系统权限提升(八)之系统错误配置-注册表键AlwaysInstall提权

系列文章 操作系统权限提升(一)之操作系统权限介绍 操作系统权限提升(二)之常见提权的环境介绍 操作系统权限提升(三)之Windows系统内核溢出漏洞提权 操作系统权限提升(四)之系统错误配置-Tusted Service Paths提权 操作系统权限提升(五)之系统错误配置-PATH环境变量提权 操作…

异质性区域下的宏观基本图构建

这是我们发表在Physica A: Statistical Mechanics and its Applications期刊上的一篇论文,主要是对现在的宏观基本图构建进行了一定的优化,论文详见:https://www.sciencedirect.com/science/article/pii/S0378437123000869 1.论文概述 论文…