linux PCLライブラリのインストール
一、インストール依存ライブラリ:Boost、Eigen、FLANN、vtk
オプション:Qhull、OpenNI、CUDA
以下はすべての依存パッケージのインストールですが、不確定な場合はすべてインストールします.
このうちvtkとqtの2つのライブラリは、ソースコードからコンパイルしてインストールすることをお勧めします.
vtk8.2.0インストール方法:
まずVTK-8.2.0をダウンロードします.tar.gzとVTKdata-8.2.0.tar.gz、ダウンロードアドレス:https://vtk.org/download/
vtkを解凍し、vtkdataをvtkフォルダに解凍して、次のコマンドを実行します.
また、このサイトを参照してください.http://www.cb.uu.se/~johan/vtk/installing_vtk_on_rhel6.txt
二、aptを使ってインストールする
インストール後のコンパイルプロセスでライブラリファイルvtkproj 4が発生する可能性があります.so紛失の問題.この問題を解決するために、直接ソフトリンクで解決できます.コードは次のとおりです.
注意:このコマンドを使用してインストールされているのはpcl 1です.7 Boost v 1が必要です58.もしあなたのboostライブラリのバージョンがこの上にあるならば、衝突が発生して、boostライブラリのバージョンを下げてあるいはpcl 1をインストールすることができます.7以上のバージョン.
三、ソースコードからpcl 1をインストールする.9.1:
1.ソースのダウンロード:https://github.com/PointCloudLibrary/pcl/releases
2.ファイルを解凍する
3.インストール、次のコマンドを順に実行します.
4.上記の手順を実行すると、IDE(例えばKdevelop)のincludeの場合、/usr/includeのpclフォルダの名前がpcl 1であるため、kdevelopにpcl含むファイルが見つからないことがわかります.9 pcl 1を9のpclフォルダを/usr/includeに移動し、pcl 1を削除する.9、これでいいです.
四、よくある質問:
問題1. /data/anaconda3/lib/libcurl.so.4: no version information available (required by curl)
解決方法:
ステップ1:経路の表示
結果は次のとおりです.
ステップ2:libcurlを検索します.so.4の接続
結果は次のとおりです.
ステップ3:削除して/usr/lib/x 86に再接続します.64-linux-gnu/libcurl.so.4
ステップ4:チェック
結果は次のとおりです.
大成功!
しかし、変更後curlコマンドは実行できません.コンパイルに成功したら、ソフト接続を戻す必要があります.
問題2:コンパイルプロセスに類似の/usr/lib/libvtkIOが一連発生した.so.5.10.1: undefined reference to `TIFFReadDirectory@LIBTIFF_4.0'のエラー
OpenCVをインストールしたことがある場合は、一般的にlibtiff 5というライブラリをインストールしています.このライブラリのバージョンはvtkで呼び出す必要があるtiffライブラリのバージョンと一致しないため、上記のエラーが発生しました.libtiff 5をアンインストールしてからtiff 4を再インストールすることをお勧めします.0.4:
ダウンロードtiff 4.0.4:http://download.osgeo.org/libtiff/
解凍、tiff-4.0.4ディレクトリに入り、次のコマンドを実行します.
次にpclを再コンパイルします.
五、試験手順
1.tiでのコード機能は、点群データをlasファイルを.pcdファイル.ファイル名:las 2 pcd.cpp
2.CMakeListファイルの作成
3.テスト
4.コードで#includeを使用している場合、次のエラーが発生する可能性があります.
fatal error: pcl/visualization/cloud_viewer.h: No such file or directory,
その理由は、pclライブラリをコンパイルする際にvisualization関連のファイルが生成されていないためです.これは、cmakeのバージョンが低いためかもしれません.3.15.2など、新しいバージョンのcmakeを再インストールすることをお勧めします.
オプション:Qhull、OpenNI、CUDA
以下はすべての依存パッケージのインストールですが、不確定な場合はすべてインストールします.
sudo apt-get update
sudo apt-get install git build-essential linux-libc-dev
sudo apt-get install cmake cmake-gui
sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev
sudo apt-get install mpi-default-dev openmpi-bin openmpi-common
sudo apt-get install libflann1.8 libflann-dev
sudo apt-get install libeigen3-dev
sudo apt-get install libboost-all-dev
sudo apt-get install libvtk5.10-qt4 libvtk5.10 libvtk5-dev
sudo apt-get install libqhull* libgtest-dev
sudo apt-get install freeglut3-dev pkg-config
sudo apt-get install libxmu-dev libxi-dev
sudo apt-get install mono-complete
sudo apt-get install qt-sdk openjdk-8-jdk openjdk-8-jre
このうちvtkとqtの2つのライブラリは、ソースコードからコンパイルしてインストールすることをお勧めします.
vtk8.2.0インストール方法:
まずVTK-8.2.0をダウンロードします.tar.gzとVTKdata-8.2.0.tar.gz、ダウンロードアドレス:https://vtk.org/download/
vtkを解凍し、vtkdataをvtkフォルダに解凍して、次のコマンドを実行します.
mkdir build
cd build
cmake ../ -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=ON -DCMAKE_BUILD_TYPE=Release -DVTK_WRAP_PYTHON=ON
make -j8
sudo make install
また、このサイトを参照してください.http://www.cb.uu.se/~johan/vtk/installing_vtk_on_rhel6.txt
二、aptを使ってインストールする
sudo apt-get install libpcl-dev
インストール後のコンパイルプロセスでライブラリファイルvtkproj 4が発生する可能性があります.so紛失の問題.この問題を解決するために、直接ソフトリンクで解決できます.コードは次のとおりです.
sudo ln -s /usr/lib/libvtkproj4.so.5.10 /usr/lib/libvtkproj4.so
注意:このコマンドを使用してインストールされているのはpcl 1です.7 Boost v 1が必要です58.もしあなたのboostライブラリのバージョンがこの上にあるならば、衝突が発生して、boostライブラリのバージョンを下げてあるいはpcl 1をインストールすることができます.7以上のバージョン.
三、ソースコードからpcl 1をインストールする.9.1:
1.ソースのダウンロード:https://github.com/PointCloudLibrary/pcl/releases
2.ファイルを解凍する
3.インストール、次のコマンドを順に実行します.
cd pcl-pcl-1.9.1 && mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make -j2
sudo make -j2 install
4.上記の手順を実行すると、IDE(例えばKdevelop)のincludeの場合、/usr/includeのpclフォルダの名前がpcl 1であるため、kdevelopにpcl含むファイルが見つからないことがわかります.9 pcl 1を9のpclフォルダを/usr/includeに移動し、pcl 1を削除する.9、これでいいです.
四、よくある質問:
問題1. /data/anaconda3/lib/libcurl.so.4: no version information available (required by curl)
解決方法:
ステップ1:経路の表示
locate libcurl4.so.4
結果は次のとおりです.
/data/anaconda3/lib/libcurl.so.4
/data/anaconda3/lib/libcurl.so.4.5.0
/data/anaconda3/pkgs/libcurl-7.63.0-h20c2e04_1000/lib/libcurl.so.4
/data/anaconda3/pkgs/libcurl-7.63.0-h20c2e04_1000/lib/libcurl.so.4.5.0
/usr/lib/x86_64-linux-gnu/libcurl.so.4
/usr/lib/x86_64-linux-gnu/libcurl.so.4.4.0
ステップ2:libcurlを検索します.so.4の接続
ls -l /data/anaconda3/lib/libcurl.so.4
結果は次のとおりです.
/data/anaconda3/lib/libcurl.so.4 -> libcurl.so.4.5.0
ステップ3:削除して/usr/lib/x 86に再接続します.64-linux-gnu/libcurl.so.4
sudo rm /data/anaconda3/lib/libcurl.so.4
sudo ln -s /usr/lib/x86_64-linux-gnu/libcurl.so.4 /data/anaconda3/lib/libcurl.so.4
ステップ4:チェック
ls -l /data/anaconda3/lib/libcurl.so.4
結果は次のとおりです.
lrwxrwxrwx 1 root root 38 6 19 13:31 /data/anaconda3/lib/libcurl.so.4 -> /usr/lib/x86_64-linux-gnu/libcurl.so.4
大成功!
しかし、変更後curlコマンドは実行できません.コンパイルに成功したら、ソフト接続を戻す必要があります.
問題2:コンパイルプロセスに類似の/usr/lib/libvtkIOが一連発生した.so.5.10.1: undefined reference to `TIFFReadDirectory@LIBTIFF_4.0'のエラー
OpenCVをインストールしたことがある場合は、一般的にlibtiff 5というライブラリをインストールしています.このライブラリのバージョンはvtkで呼び出す必要があるtiffライブラリのバージョンと一致しないため、上記のエラーが発生しました.libtiff 5をアンインストールしてからtiff 4を再インストールすることをお勧めします.0.4:
sudo apt-get remove libtiff5-dev
ダウンロードtiff 4.0.4:http://download.osgeo.org/libtiff/
解凍、tiff-4.0.4ディレクトリに入り、次のコマンドを実行します.
./configure
make
sudo make install
次にpclを再コンパイルします.
五、試験手順
1.tiでのコード機能は、点群データをlasファイルを.pcdファイル.ファイル名:las 2 pcd.cpp
#include
#include
#include
#include
#include
#include
using namespace std;
int main (int argc, char *argv[])
{
string filePath;
filePath=argv[1];
std::cerr << "INFO : Loading : " << filePath << std::endl;
// PCL pointcloud
pcl::PointCloud<:pointxyzrgb> cloud;
// las
std::ifstream ifs(filePath.c_str(), std::ios::in | std::ios::binary);
//
if(ifs.fail())
{
std::cerr << "ERROR : Impossible to open the file : " << filePath <<:endl return="" liblas::readerfactory="" f="" liblas::reader="" reader="f.CreateWithStream(ifs);" las="" unsigned="" long="" int="" nbpoints="reader.GetHeader().GetPointRecordsCount();" cloud.width="nbPoints;" cloud.height="1;" cloud.is_dense="false;" cloud.points.resize="" cout="" :="" cloud.points.size="" points="" detected="" in="" filepath="" endl="" i="0;" uint16_t="" r1="" g1="" b1="" rgb="" .las="" coded="" r2="" g2="" b2="" uint32_t="" value="" for="" .pcd="" while="" xyz="" cloud.points="" note:="" liblas="" the="" class="" can="" be="" accessed="" from="" within="" thus="" triple="" gets="" stores="" color="" demands="" an="" let="" convert="" them="" pcl="" particularity:="" must="" into="" one="" single="" integer="" and="" then="" reinterpret="" as="" float="">(&rgb);
i++;
}
//
pcl::io::savePCDFileASCII (argv[2], cloud);
std::cerr << "Saved " << cloud.points.size () << " data points to pointcloud.pcd." << std::endl;
return (0);
}
2.CMakeListファイルの作成
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
project(las2pcd)
find_package(PCL REQUIRED)
include_directories(${PCL_INCLUDE_DIRS})
include_directories(/usr/include)
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable(las2pcd las2pcd.cpp)
target_link_libraries(las2pcd
${PCL_COMMON_LIBRARIES}
${PCL_IO_LIBRARIES}
/usr/lib/liblas.so
/usr/lib/liblas_c.so
)
3.テスト
mkdir build
cd build
cmake ..
make -j2
./las2pcd las pcd
4.コードで#includeを使用している場合、次のエラーが発生する可能性があります.
fatal error: pcl/visualization/cloud_viewer.h: No such file or directory,
その理由は、pclライブラリをコンパイルする際にvisualization関連のファイルが生成されていないためです.これは、cmakeのバージョンが低いためかもしれません.3.15.2など、新しいバージョンのcmakeを再インストールすることをお勧めします.