3d激光雷达开发(字符串输出和实体绘制)

Posted 费晓行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3d激光雷达开发(字符串输出和实体绘制)相关的知识,希望对你有一定的参考价值。

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        前面说过了长方体绘制,这一次谈一下字符串。一个有demo效果的软件,或者说算法也行,除了用长方体绘制出效果以后,还要用字符串打印必要的信息。此外,随着时间的改变,这个信息最好是一直跳动和更新的,这样才能达到最佳的演示效果。

1、照旧准备pcl.cpp文件

#include<string>
#include <iostream>

#include <pcl/common/common_headers.h>
#include <pcl/features/normal_3d.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <thread>

using namespace std::chrono_literals;
using namespace std;

int main(int argc,char** argv) 

    pcl::visualization::PCLVisualizer::Ptr viewer (new pcl::visualization::PCLVisualizer ("visual"));
	srand(time(NULL));
   // viewer->setBackgroundColor (0, 0, 0);

    Eigen::Vector3f center(0,0,0);
    Eigen::Quaternionf rotation(1,0,0,0);
    viewer->addCube(center,rotation,50,50,100);
	viewer->addText((string("length:") + to_string(rand() % 100)).c_str(), 10, 100, 20, 1, 1, 0, "PlaneSeg");
	viewer->addText((string("width:") + to_string(rand() % 100)).c_str(), 10, 200, 20, 1, 1, 0, "TargetSeg");
	viewer->addText((string("height:") + to_string(rand() % 100)).c_str(), 10, 300, 20, 1, 1, 0, "heightStr");

    while (!viewer->wasStopped())
    
		viewer->updateText((string("length:") + to_string(rand() % 100)).c_str(), 10, 100, "PlaneSeg");
		viewer->updateText((string("width:") + to_string(rand() % 100)).c_str(), 10, 200, "TargetSeg");
		viewer->updateText((string("height:") + to_string(rand() % 100)).c_str(), 10, 300, "heightStr");

        viewer->spinOnce (100);
		std::this_thread::sleep_for(100ms);
    
    return 0;


2、准备CMakeLists.txt文件

cmake_minimum_required(VERSION 2.6 FATAL_ERROR)

project(pcl)

find_package(PCL 1.2 REQUIRED)

include_directories($PCL_INCLUDE_DIRS)
link_directories($PCL_LIBRARY_DIRS)
add_definitions($PCL_DEFINITIONS)

add_executable (pcl pcl.cpp)
target_link_libraries (pcl $PCL_LIBRARIES)

3、生成sln文件,准备编译

4、运行exe文件

        打开exe,注意确实的dll文件,同时判断是debug模式还是release模式,

        注意,上面字符串里面的数字是定时跳动的,过一会就会发生变化,

 

以上是关于3d激光雷达开发(字符串输出和实体绘制)的主要内容,如果未能解决你的问题,请参考以下文章

3d激光雷达开发(旋转和位移)

3d激光雷达开发(入门)

3d激光雷达开发(icp匹配)

3d激光雷达开发(基于统计滤波)

3d激光雷达开发(sift关键点)

3d激光雷达开发(pcl安装和使用)