• OpenCV中Kinect的使用(2)


    OpenCV中Kinect的使用(1),主要讲述OpenCV中关于Kinect接口(类 VideoCapture )的一些使用介绍。

    类 VideoCapture 支持Kinect传感器。使用 VideoCapture 里的接口,可以从Kinect获取深度图,RGB图像和其他格式的输出,主要包括: 

    1)来自深度传感器的数据:

    • OPENNI_DEPTH_MAP - 以毫米为单位的深度值 (CV_16UC1)
    • OPENNI_POINT_CLOUD_MAP - 以米为单位的XYZ点云 (CV_32FC3)
    • OPENNI_DISPARITY_MAP - 以像素为单位的视差 (CV_8UC1)
    • OPENNI_DISPARITY_MAP_32F - 以像素为单位的视差 (CV_32FC1)
    • OPENNI_VALID_DEPTH_MASK - 有效像素标志 (非遮挡,非影子区等) (CV_8UC1)

    2)来自RGB图像传感器的数据:

    • OPENNI_BGR_IMAGE - 彩色图像 (CV_8UC3)
    • OPENNI_GRAY_IMAGE - 灰度图像 (CV_8UC1)

    获取多个Kinect数据,可使用 VideoCapture::grab 和 VideoCapture::retrieve,例如:

    1 cv::VideoCapture capture = VideoCapture( CV_CAP_OPENNI );
    2 capture.set( CV_CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION_ON, 1.0 );
    3 capture.grab();
    4 capture.retrieve( scene_img, CV_CAP_OPENNI_BGR_IMAGE );
    5 capture.retrieve( depthImg, CV_CAP_OPENNI_DEPTH_MAP );
    6 capture.retrieve( cloudImg, CV_CAP_OPENNI_POINT_CLOUD_MAP );   

    其中,set用来设置Kinect数据属性,包括:

    • CV_CAP_OPENNI_IMAGE_GENERATOR – 读写图像传感器属性的标志;
    • CV_CAP_OPENNI_DEPTH_GENERATOR – 读写深度传感器属性的标志——此标志为默认值,如果这两个标志都没有设置,则为此标志。

    当读写特定传感器属性时,必须用此标志指定传感器。如下属性可透过OpenNI接口支持:

    1)图像传感器: 

    • CV_CAP_PROP_OPENNI_OUTPUT_MODE – 支持两种模式:缺省的 CV_CAP_OPENNI_VGA_30HZ (图像传感器以30FPS速度返回VGA分辨率的图像)
    • CV_CAP_OPENNI_SXGA_15HZ (图像传感器以15FPS速度返回SXGA分辨率的图像);深度传感器一直是VGA分辨率。

    2)深度传感器:

    • CV_CAP_PROP_OPENNI_REGISTRATION – 此标志用来校准深度图,通过改变深度传感器的视点到图像传感器,这样两图中同一位置的像素表示同一物体(需将此标志设置为 "on"); 或者设置深度传感器的视点为其本来的视点(需将此标志设置为 "off")

    3)一些”generator type + property”被定以为一个标志:

    • CV_CAP_OPENNI_IMAGE_GENERATOR_OUTPUT_MODE = CV_CAP_OPENNI_IMAGE_GENERATOR + CV_CAP_PROP_OPENNI_OUTPUT_MODE
    • CV_CAP_OPENNI_DEPTH_GENERATOR_BASELINE = CV_CAP_OPENNI_DEPTH_GENERATOR + CV_CAP_PROP_OPENNI_BASELINE
    • CV_CAP_OPENNI_DEPTH_GENERATOR_FOCAL_LENGTH = CV_CAP_OPENNI_DEPTH_GENERATOR + CV_CAP_PROP_OPENNI_FOCAL_LENGTH
    • CV_CAP_OPENNI_DEPTH_GENERATOR_REGISTRATION_ON = CV_CAP_OPENNI_DEPTH_GENERATOR + CV_CAP_PROP_OPENNI_REGISTRATION_ON

    参考资料:

    使用Kinect传感器

    2013-10-28

  • 相关阅读:
    Django 前后端数据传输、ajax、分页器
    项目分层
    The Jaisalmer Desert Festival 2017/2/9
    Slacklining 2017/2/7
    Slacklining 2017/2/6
    SnowKiting 2017/1/24
    ADO1
    SnowKiting
    CSS-学习笔记六
    D Vitamin
  • 原文地址:https://www.cnblogs.com/steven-blog/p/3392910.html
Copyright © 2020-2023  润新知