最近想用用斯坦福的QSplat系统,它只能支持*.qs格式的文件,这种格式的结构在网上也没找到。貌似还只能用它自带的一个qsplatmake程序从PLY格式转换过来。就在这里遇到了问题:
这个程序是DOS环境下运行的,所以下了二进制的ply数据,但是总是提示:
can only read big-endian binary plyfile!
所以我又另外下载了文件头里面有big-endian binary的二进制ply文件
却总是提示
cannot read plyfile!
这是怎么回事?
有没有大神也弄过这个东西的?请指教指教啊!!!!!

解决方案 »

  1.   

     big-endian 和small-endian好像是二进制在存储时字节的存放顺序的一种方式,有的是低位在前,有的高位在前,但哪个是哪个,我记不清了,网上应该 有读取ply文件格式的代码,你搜一下,如果找不到,我以前好象有一个,但十多年了,现在不知放哪了
      

  2.   

    以前用过Qsplat。你可以调试它的代码看一下ply读取是什么问题.
      

  3.   

    对1 楼 swandream 的回复:
    big-endian 和small-endian好像是二进制在存储时字节的存放顺序的一种方式,有的是低位在前,有的高位在前,但是QSplat系统提供的那个qsplatmaker的DOS环境下运行的程序,可以吧ply的转成qs的数据,可是这个程序根本就不能用,总是报错!
    请问是不是ply格式的数据还有好几种啊?
      

  4.   


    大哥,qsplat不能读ply的,它只支持qs格式的数据~
      

  5.   

    我看了一下,你调试那个qsplatmaker工程,只不过那个工程好像下载下来的时候有点问题,你把这个工程里面的文件重新添加,然后编译。启动调试的时候要使用命令行输入三个参数,就可以进到它的read_ply方法啦。ply格式能够存储的内容还是比较多的,但是这个程序只读取了其中的点和面数据,对于构建qs文件也够了。
      

  6.   

    您好!你有用自己的数据试过么?确实可以操作么?我就是对qsplatmaker工程进行了重新编译,生成的程序还是不能用,跟下载下来的exe有一样的问题,到底是怎么回事呢?
    另外,我想总结一下我现在要做的事情,就是把我们自己扫描的点文件*.xyz(只有xyz),先通过第三方软件转换成ply格式,然后用qsplatmaker转成qs文件,以便能使用QSplat显示出来。你觉得这个可行么?请不吝赐教,万分感激
      

  7.   

    ply有asci和binary的,binary里面还分为little endian和big endian存储形式。qsplatmaker程序只能读big endian的binary形式,而且里面存的必须还是mesh。
    你说的东西我觉得可以实现,只不过qsplatmaker读ply的地方限制太多,你可以自己改一下它的代码,让它能够读更多的ply格式,甚至可以是其它格式。我没有找到过合适的数据,所以当时也没有用上它的程序。我的QQ:1264035374