查看“3D相机适配”的源代码
←
3D相机适配
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
管理员
您可以查看和复制此页面的源代码。
引用Camera3D.dll,在工程中写一个类:MainIOObject : Camera3DIOObject,参考以下流程进行适配。 == 1.3D相机适配参数含义 == # 点云数据结构 '''public''' '''struct''' '''CameraPoint3D''' { '''public''' '''float''' X;//点云x '''public''' '''float''' Y;//点云y '''public''' '''float''' Z;//点云z '''public''' '''byte''' intensity; // 强度,0-255 '''public''' '''byte''' r, g, b; // rgb色彩,0-255 '''public''' '''float''' depth;//深度 } # 色彩模式 public enum Camera3dCloudColorMode { Rgb = 0, Depth = 1, Intensity = 2, Solid = 3, } == 2.适配流程 == //命名空间为3D相机名称 '''namespace''' '''XXX''' { //继承3D相机父类 '''public''' '''class''' '''MainIOObject''' : Camera3DIOObject { //启动方法,若有参数则加入参数 '''public''' '''void''' '''Start'''() { Console.'''WriteLine'''("Starting XXX"); //点云显示模式 CloudColorMode = Camera3dCloudColorMode.Intensity; '''new''' '''Thread'''(() => { '''while''' ('''true''') { '''try''' { '''Loop'''(); } '''catch''' (Exception ex) { Console.'''WriteLine'''($"msg:{ex.Message}, stack:{ex.StackTrace}"); Thread.'''Sleep'''('''1000'''); } } }).'''Start'''(); } '''private''' '''void''' '''Loop'''() { //解析相机数据,赋值给cachedPoints //.....解析部分..... //帧号+1,output数据 frame += '''1'''; scanC += '''1'''; '''Output'''(); } } } == 启动相机 == 在Medulla目录下startup.iocmd中增加以下代码 //io load xxx.dll时,会寻找dll里面class MainIOObject并实例化相应的对象赋值给等号左侧的3dcam '''3d'''cam = io load plugins/xxx.dll ////Start对应Start函数,传的参数放在后面,空格隔开 '''3d'''cam Start
返回
3D相机适配
。
导航菜单
个人工具
中文(中国大陆)
创建账号
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息