MPSizector传感器输出数据M3dm转换为Halcon可识别的格式

m3dm数据格式转为halcon可识别数据格式:

halcon的算子丰富多样功能齐全且使用方便。其可识别的数据格式比较多,如 'om3', 'dxf', 'off', 'ply', 'obj', 'stl'

附上m3dm格式数据转为'om3'数据格式代码(仅供参考)

1.关于引用

 

2.   MP3DFrameManaged Buffer3DLast;

     Buffer3DLast为3D相机中的 MP3DFrameManaged的数据结构

3.代码   

private bool  M3dmToOm3(string FileName)                               //m3dm数据格式转为halcon可识别的om3数据格式

        {

            float[] DataX = new float[Buffer3DLast.SensorWidth * Buffer3DLast.SensorHeight];

            float[] DataY = new float[DataX.Length];

            float[] DataZ = new float[DataX.Length];

            for (int i = 0; i < Buffer3DLast.SensorWidth * Buffer3DLast.SensorHeight; i++)

            {

                if (Buffer3DLast.Data[i].Mask == 0)

                {

                    DataX[i] = Buffer3DLast.Data[i].X;

                    DataY[i] = Buffer3DLast.Data[i].Y;

                    DataZ[i] = Buffer3DLast.Data[i].Z;

                }

                else

                {

                    DataX[i] = float.NaN;

                    DataY[i] = float.NaN;

                    DataZ[i] = float.NaN;

                }

            }

            HalconDotNet.HOperatorSet.GenObjectModel3dFromPoints(new HTuple(DataX), new HTuple(DataY), new HTuple(DataZ),

                                                                                                                                                                    out HTuple objcectModel3d);

            HalconDotNet.HOperatorSet.WriteObjectModel3d(objcectModel3d, "om3", FileName, new HTuple(), new HTuple());

            return true;

        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值