main.cpp 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. #include <QCoreApplication>
  2. #include "transfusion_call.h"
  3. transfusion_call * gptf;
  4. #include <pcl/io/pcd_io.h>
  5. #include <QFile>
  6. void LoadBin(pcl::PointCloud<pcl::PointXYZI>::Ptr & point_cloud,std::string strpath)
  7. {
  8. pcl::PointXYZI xp;
  9. point_cloud->height = 1;
  10. QFile xFile;
  11. xFile.setFileName(strpath.data());
  12. if(xFile.open(QIODevice::ReadOnly))
  13. {
  14. while(1)
  15. {
  16. float x,y,z,i,ring;
  17. int nread;
  18. // std::cout<<"float size : "<<sizeof(float)<<std::endl;
  19. nread = xFile.read((char *)&x,sizeof(float));
  20. if(nread < 1)break;
  21. xFile.read((char *)&y,sizeof(float));
  22. xFile.read((char *)&z,sizeof(float));
  23. xFile.read((char *)&i,sizeof(float));
  24. // xFile.read((char *)&ring,sizeof(float));
  25. // std::cout<<x<<" "<<y<<" "<<z<<" "<<i<<std::endl;
  26. xp.x = x; xp.y = y; xp.z = z; xp.intensity = i ;
  27. std::cout<<" x: "<<xp.x<<" y:"<<xp.y<<" z:"<<xp.z<<" int:"<<xp.intensity<<" ring:"<<ring<<std::endl;
  28. point_cloud->points.push_back(xp);++point_cloud->width;
  29. }
  30. }
  31. xFile.close();
  32. // pcl::io::savePCDFile("/home/nvidia/kittypcd.pcd",*point_cloud);
  33. }
  34. void testdet(std::string & path)
  35. {
  36. pcl::PointCloud<pcl::PointXYZI>::Ptr point_cloud(
  37. new pcl::PointCloud<pcl::PointXYZI>());
  38. // pcl::io::loadPCDFile<pcl::PointXYZI>(path,*point_cloud);
  39. LoadBin(point_cloud, path);
  40. std::vector<Box3D> det_boxes3d;
  41. int i;
  42. for(i=0;i<10;i++)
  43. {
  44. gptf ->detect(point_cloud,det_boxes3d);
  45. std::cout<<" box size: "<<det_boxes3d.size()<<std::endl;
  46. }
  47. }
  48. int main(int argc, char *argv[])
  49. {
  50. QCoreApplication a(argc, argv);
  51. gptf = new transfusion_call();
  52. std::string strpath = "/home/nvidia/data/tem/000005.bin";// "/home/nvidia/1.pcd"; //
  53. testdet(strpath);
  54. return a.exec();
  55. }