在运行PFH程序时,遇到下面问题
- vtkOpenGLTexture (0x252dd00): No scalar values found for texture input!
这篇博客说是以为:
6、运行时出现错误:vtkOpenGLTexture (0000000002540430): No scalar values found for texture input!
原因:创建vtkTextActor时,未调用SetInput()方法;或调用SetInput()方法,参数给的空字符串。这都相当于创建了一个空vtkTextActor,导致该错误发生。
解决方法:创建vtkTextActor时进行初始化,即调用SetInput()方法,且必须给出参数,哪怕是一个空格字符创。
但是并不知道怎么修改,找到了一个替代方法如下
#include <pcl/visualization/pcl_plotter.h>// 直方图的可视化 方法2
.
.
.
程序
.
.
.
pcl::visualization::PCLPlotter plotter;
plotter.addFeatureHistogram(*pfh_fe_ptr, 125); //设置的很坐标长度,该值越大,则显示的越细致
plotter.plot();
关于boost的thread模块引发的问题
问题
CMakeFiles/bounding_boxes.dir/bounding_boxes_fea.cpp.o:在函数‘main’中:
bounding_boxes_fea.cpp:(.text.startup+0x12b4):对‘boost::this_thread::hiden::sleep_until(timespec const&)’未定义的引用
推荐使用解决2
出现这个问题的原因可能是thread没找到:
➜ build cmake ..
-- Eigen found (include: /usr/include/eigen3, version: 3.2.92)
-- Boost version: 1.58.0
-- Found the following Boost libraries:
-- system
-- filesystem
-- date_time
-- iostreams
-- serialization
-- chrono
-- regex
-- OpenNI found (include: /usr/include/ni, lib: /usr/lib/libOpenNI.so)
-- OpenNI2 found (include: /usr/include/openni2, lib: /usr/lib/libOpenNI2.so)
** WARNING ** io features related to pcap will be disabled
** WARNING ** io features related to png will be disabled
** WARNING ** io features related to libusb-1.0 will be disabled
-- OpenNI found (include: /usr/include/ni, lib: /usr/lib/libOpenNI.so)
-- OpenNI2 found (include: /usr/include/openni2, lib: /usr/lib/libOpenNI2.so)
-- QHULL found (include: /usr/include, lib: optimized;/usr/lib/x86_64-linux-gnu/libqhull.so;debug;/usr/lib/x86_64-linux-gnu/libqhull.so)
-- OpenNI found (include: /usr/include/ni, lib: /usr/lib/libOpenNI.so)
-- looking for PCL_COMMON
-- looking for PCL_KDTREE
-- looking for PCL_GEOMETRY
-- looking for PCL_OCTREE
-- looking for PCL_SEARCH
-- looking for PCL_SAMPLE_CONSENSUS
-- looking for PCL_FILTERS
-- looking for PCL_2D
-- looking for PCL_FEATURES
-- looking for PCL_ML
-- looking for PCL_SEGMENTATION
-- looking for PCL_IO
-- looking for PCL_STEREO
-- looking for PCL_REGISTRATION
-- looking for PCL_RECOGNITION
-- looking for PCL_VISUALIZATION
-- looking for PCL_PEOPLE
-- looking for PCL_SURFACE
-- looking for PCL_OUTOFCORE
-- looking for PCL_TRACKING
-- looking for PCL_KEYPOINTS
-- looking for PCL_APPS
-- Boost version: 1.58.0
/usr/include
/usr/lib/x86_64-linux-gnu
-- Configuring done
-- Generating done
-- Build files have been written to: /media/s/TOSHIBA/睿慕课/睿慕课三维点云与深度学习课程资料/CH6点云识别与跟踪特征描述/demo/Features/build
解决
参考这篇博客:https://stackoverflow.com/questions/43361906/why-cant-i-link-to-boosts-thread-libraries
cmake_minimum_required(VERSION 3.7)
project(untitled)
set(CMAKE_CXX_STANDARD 14)
find_package(Boost REQUIRED COMPONENTS thread system)
add_executable(untitled main.cpp)
target_include_directories(untitled PRIVATE ${Boost_INCLUDE_DIRS})
target_link_libraries(untitled ${Boost_LIBRARIES})
之后,cmake打印的信息如下:
➜ build cmake ..
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C