Kinect 点云开发实录

Created by miccall (转载请注明出处 miccall.tech)

思路规划

用Kinect进行三维点云扫描,
空间结构与模型构建,
文件点云数据存储 csv ply,
过滤目标物体数据,
存储单个物体数据并标记,
机器学习物体识别,
Hololense 空间扫描,
物体识别,属性归纳。

将扫描到的数据导入到机器学习模型,训练样本,聚类划分。

点云

点云开发库 PCL

过滤器(Filters)

注册器(Registration)

分割(Segmentation)

范围图像(Range Image)

其他(other)

Kinect

综合

Shader "miccall/uv_anim"
{
    Properties
    {
        _MainTex ("Texture", 2D) = "white" {}
        _SizeX ("列", Float) = 3  
        _SizeY ("行", Float) = 3
        _offsetX ("_offsetX",RANGE(0,2)) = 0 
        _offsety ("_offsetY",RANGE(0,2)) = 0 
    }
    SubShader
    {
        Pass
        {
            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag
            #include "UnityCG.cginc"

            struct appdata
            {
                float4 vertex : POSITION;
                float2 uv : TEXCOORD0;
            };

            struct v2f
            {
                float2 uv : TEXCOORD0;
                float4 vertex : SV_POSITION;
            };

            sampler2D _MainTex;
            float4 _MainTex_ST;
            float _SizeX ; 
            float _SizeY ;
            float _offsetX ;
            float _offsetY ;

            v2f vert (appdata v)
            {
                v2f o;
                float deltaX = 1 / _SizeX; // 单元格增量宽度
                float deltaY = 1 / _SizeY; // 单元格增量高度
                float2 cellUV = float2( v.uv.x * deltaX , v.uv.y * deltaY );

                // 当前播放总索引  speed 
                int index = _Time * 20;

                // 求列索引
                int col = fmod(index, _SizeX);
                // 求行索引
                int row = index / _SizeY ;

                cellUV.x += col * deltaX ;
                cellUV.y += row * deltaY ;

                o.vertex = UnityObjectToClipPos(v.vertex);
                o.uv =   TRANSFORM_TEX(cellUV,_MainTex);

                return o;
            }

            fixed4 frag (v2f i) : SV_Target
            {
                fixed4 col = tex2D(_MainTex, i.uv);
                return col;
            }

            ENDCG
        }
    }
}