首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >闲鱼 159元冲全新Intel R200实感相机

闲鱼 159元冲全新Intel R200实感相机

作者头像
云深无际
发布2022-02-09 10:14:57
发布2022-02-09 10:14:57
1.7K0
举报
文章被收录于专栏:云深之无迹云深之无迹

Intel家的东西,第一个特点就是有点“贵”(大概率是我穷)。

Intel RealSense 相机介绍.上,我以前写过一些关于这个相机的。

现在最新的版本是D455i,最有性价比可能的D435,但是价钱都是1000开外了,我也不是说贵,我只是用不到而已。所以我就考虑别的可能性,intel家的东西是SDK好,demo丰富,支持的语言丰富。

Matlab可以控制,是不是很酷

最新的相机了,我用不到也穷~

然后今天晚上冲浪的时候,看到一个店家出R200,才159!!!我的妈,问了下还是全新的,等啥呢!

冲!!!

大概机器长这样

因为咱们要这个东西,也不是干嘛,是学习┗|`O′|┛ 嗷~~

代码语言:javascript
复制
https://github.com/IntelRealSense/librealsense/tree/v1.12.1

上个最重要的GitHub的地址

看见没有R200

代码语言:javascript
复制
https://github.com/IntelRealSense/librealsense

事实上最新的SDK是这个,但是R200太老了,不支持这个了~

看我绘图的地方

因为贫穷,好多的都不写着不支持R200

我觉得是可以支持的,等机器回来看我操作~

找到一篇文章,大致看看:

代码语言:javascript
复制
https://blog.csdn.net/jy1023408440/article/details/105732098?utm_medium=distribute.wap_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-9.wap_blog_relevant_pic&depth_1-utm_source=distribute.wap_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-9.wap_blog_relevant_pic

标题

代码语言:javascript
复制
https://github.com/IntelRealSense/librealsense/releases/tag/v2.34.0

这里也没有写支持R200

这篇文章写于

2020-04-24

可惜现在都2020-09-21了

版本已经很旧了

这个是文章中成功的图

代码语言:javascript
复制
 pip install pyrealsense2

在一个文章里面找到了运行相机的最低要求

代码语言:javascript
复制
https://www.intel.cn/content/www/cn/zh/support/products/92256/emerging-technologies/intel-realsense-technology/intel-realsense-cameras/intel-realsense-camera-r200.html

v10的SDK不可以再下载

代码语言:javascript
复制
https://www.intelrealsense.com/

这是推荐的新的SDK的位置

代码语言:javascript
复制
github.com/IntelRealSense/librealsense/blob/master/doc/sample-data.md

然后SDK支持深度图像的录制

各种各样的,可以在没有相机的情况下看

接下来试试看

在我们的viwer内打开

2D和3D全部打开

也可以看看我们的视频参数

日后研究

这个我不小心调出来的,不知道是什么

还有参数

立体的点云图

测量图

可能很多人,不知道这个东西的意义在哪里,我想意义就是在于真实~

以下给出Matlab和Python的处理代码:

代码语言:javascript
复制
% 使管道对象管理流式处理
管道 = 实感.管道();
% 定义点云对象
pcl_obj = 实感.点云();
% 使用默认设置在任意摄像机上开始流式传输
管道.开始();
% 获取帧。我们抛弃了第一对夫妇
摄像机结算时间的百分比
对于 i = 1:5
帧 = 管道.wait_for_帧();
结束
% 选择深度帧
深度 = 帧.get_深度_帧();
% 获得不带颜色的点云点
pnts = pcl_obj.计算(深度);
顶点 = pnts.get_vertice();
% 可选:填充 MATLAB 点云对象
pCloud = 点云(顶点);
%显示点云
pcshow(pCloud);
管道.停止();

只获得点云图

这些代码适合这些产品

R200在其中,其实也可以说明

其实新老产品就是性能的区别,软件栈是通用的

代码语言:javascript
复制
MATLAB:
% Make Pipeline object to manage streaming
pipe = realsense.pipeline();
% define point cloud object
pcl_obj = realsense.pointcloud();
% define colorizer to give point cloud color
colorizer = realsense.colorizer();
% Start streaming on an arbitrary camera with default settings
profile = pipe.start();
% Get frames. We discard the first couple to allow
% the camera time to settle
for i = 1:5
frames = pipe.wait_for_frames();
end
% Stop streaming
pipe.stop();
% Select depth frame
depth = frames.get_depth_frame();
% get point cloud points without color
points = pcl_obj.calculate(depth);
% get texture mapping
color = frames.get_color_frame();
% map point cloud to color
pcl_obj.map_to(color);
% get vertices (nx3)
vertices = points.get_vertices();
% get texture coordinates (nx2)
tex_coords = points.get_texture_coordinates();
代码语言:javascript
复制
import pyrealsense2 as rs
import numpy as np
import cv2

if __name__ == "__main__":
    # Configure depth and color streams
    pipeline = rs.pipeline()
    config = rs.config()
    config.enable_stream(rs.stream.depth, 640, 480, rs.format.z16, 30)
    config.enable_stream(rs.stream.color, 640, 480, rs.format.bgr8, 30)
    # Start streaming
    pipeline.start(config)
    try:
        while True:
            # Wait for a coherent pair of frames: depth and color
            frames = pipeline.wait_for_frames()
            depth_frame = frames.get_depth_frame()
            color_frame = frames.get_color_frame()
            if not depth_frame or not color_frame:
                continue
            # Convert images to numpy arrays

            depth_image = np.asanyarray(depth_frame.get_data())

            color_image = np.asanyarray(color_frame.get_data())

            # Apply colormap on depth image (image must be converted to 8-bit per pixel first)
            depth_colormap = cv2.applyColorMap(cv2.convertScaleAbs(depth_image, alpha=0.03), cv2.COLORMAP_JET)
            # Stack both images horizontally
            images = np.hstack((color_image, depth_colormap))
            # Show images
            cv2.namedWindow('RealSense', cv2.WINDOW_AUTOSIZE)
            cv2.imshow('RealSense', images)
            key = cv2.waitKey(1)
            # Press esc or 'q' to close the image window
            if key & 0xFF == ord('q') or key == 27:
                cv2.destroyAllWindows()
                break
    finally:
        # Stop streaming
        pipeline.stop()

三个摄像头

R200 实际有 3 个摄像头,可提供 RGB(彩色)和立体红外图像,以生成深度。借助激光投影仪,该摄像头可进行三维扫描,获取场景感知和增强的摄影。内部范围约 0.5-3.5 米,外部范围可达 10 米。注:范围在很大程度上取决于模块和照明。

不同于英特尔® 实感™ F200 摄像头,R200 面向世界,而非对着用户。因此,实感 SDK 侧重于 R200 的以下用例。

也就是说R200是适合在室外使用的,室内当然也可以使用了~

  1. 捕捉 3D 世界,然后编辑、共享并打印 3D 对象。
  2. 增强你的摄影。英特尔实感 R200 包括 3D 过滤器,允许重新照明、重新聚焦和背景分割(去除/替代背景)
  3. 添加虚拟内容到现实世界的 3D 捕捉版本中。在称为“场景感知”的特性中,你可将虚拟对象添加到捕捉的现实世界场景中,因为 R200 摄像头了解表面以及对象和运动,并可通过预估摄像头在场景中的位置/方向来创建场景。

这些用例基于 R200 摄像头的两个功能区。

  • 跟踪/定位:使用深度、RGB 和 IMU 数据,实时预估摄像头的位置和方位。
  • 这里说明了IMU,真的有传感器吗?
  • 三维体积/表面重建:构建摄像头观察到的 3D 场景的实时数字表现

关于 R200 摄像头,最令人兴奋的是更大范围的扫描能力,这是测量深度的新方法。R200 包括立体摄像头和 RGB 摄像头。由于此摄像头不太依赖于红外线,因此它可在户外使用。彩色摄像头可提供人类影像,2 个深度摄像头可提供数据供算法使用。此外,如果系统内建有 IMU(惯性测量单元),则 SDK 可以调整对添加到场景的对象产生的重力影响。不过这里又写如果了,也不知道是不是有IMU。

通过立体摄影,可使用三角测量,通过 2 个“单独”摄像头之间的视差(像素偏移)来计算深度/三维,从而得出深度测量。注意,这基于并行平面(不是与摄像头的绝对范围)。SDK 中包含一个实用程序,用于帮助进行平面检测。确保摄像头在初始化期间可以看到地平线,这对于扫描目标的方向至关重要。

R200 可采用 6 DOF(自由度)跟踪摄像头在三维空间中的移动。与前/后/上/下/左/右呈 3 度,与偏航/俯仰/滚动运动呈 3 度。

要获得最佳三维扫描结果:

  • 使用一个 2m(立方)的 FOV,至少 5000 像素 (640x480)。为了正确检测,使用此图表: 距离/分钟 矩形对象大小 30 厘米 4.5 厘米 x 3.5 厘米 100 厘米 16 厘米 x 11 厘米 180 厘米 28 厘米 x 21 厘米
  • 不要堵塞对象超过 20%。
  • 移动摄像头,但尽可能保持真实场景对象的位置。
  • 以 30 FPS 或 60 FPS 运行。使用较高的 FPS 获得更小的帧间位移
  • 不要使用普通的非结构化表面。红外发射器会发送随机的不均匀光模式,以将纹理添加到场景中,并通过红外波段中的过滤器运行数据。此外,RGB 输入被添加到立体深度计算。
  • 以中到慢速移动摄像头,请记住,以 60 FPS 拍摄意味着每秒 18M 的深度计算。
  • 留出摄像机初始化的时间(显示在屏幕的左下方),其中包括将目标置于绿线的中心。

彩色摄像头能够以 1080p @60FPS 进行 32 位 RGBA,使用定焦和 16:3 的宽高比。RGB 摄像头拥有比双摄像头略大的 FOV,但这并不意味着可用作独立摄像头。这里我们可以看到即使不用深度功能,也可以使用RGB的图像,USB3.0哦~

再看看这些摄像头

双深度摄像头使用定焦 4:3 宽高比和 70x59x46 度视界。 IR 是 850 纳米范围的 1 级激光, 可用分辨率:

@60FPS,深度为 320x240;颜色为 640x480 @60FPS,深度为 480x360,颜色为 320x240 或 640x480 @30FPS,深度为 320x240;颜色为 640x480、1280x720 或 1920x1080 @30FPS,深度为 480x360;颜色为 320x240、640x480、1280x720 或 1920x1080

实感SDK 可提供与项目深度到颜色的对接,反之亦然。

R200 的功耗范围为 0 至 100mw(空闲)到 1.0-1.6 瓦(活跃)(取决于使用的模块)。它有多项节能特性,包括使用 USB3 。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档