山本(小)/研究/PointCloudLibrary(PCL)
[
Front page
] [
New
|
List of pages
|
Search
|
Recent changes
|
Help
] [
Japanese
/
English
]
Research
research overview
papers
media
Members
professors
graduates
undergraduates
alumni
Links
Links
Classes
Computer Programming Basic II
Special Lecture of Mechanical Intelligent System Engineering I
Start:
[[山本(小)/ 研究/進捗報告(山本(小))]]
*PCLの概要 [#vc70241c]
-3次元の点群データを扱うライブラリ
*PCLのインストール [#b6ebccaf]
**環境 [#kb020372]
-OS:Ubuntu16.04
-コンパイラのバージョン : gcc (Ubuntu 5.4.0-6ubuntu1~16.0...
--これ以外のコンパイラだと、boostのコンパイルに使ったコン...
../../lib/libpcl_visualization.so.1.7.2: undefined refer...
--gccのバージョンはgcc --versionで確認できる
**手順 [#v6e07ba8]
-pcl 1.8.1について行う
-[[参考サイト>https://larrylisky.com/2016/11/03/point-clo...
**セットアップ [#h904908d]
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 libude...
sudo apt-get install mpi-default-dev openmpi-bin openmp...
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-...
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
**ビルド [#kbeac216]
cd ~/prog
git clone https://github.com/PointCloudLibrary/pcl.git
cd pcl
mkdir build && cd build
cmake-gui
-cmake-gui の設定
--where is the source code: のパスはgit cloneしたpclディ...
/home/"ユーザー名"/prog/pcl
--where to build the binaries: のパスはmkdirしたbuildディ...
/home/yamamoton/prog/pcl/build
--configureを押すとコンパイラとMakefileについて聞かれる
Specify the generator for this project :Unix Makefilesを...
Use default native compilerを選択
チェックボックスがたくさん出てくる
--チェックボックスの項目について
--以下の画像のようにする、使う機能に合わせて調整
#ref(hoge1.png);
#ref(hoge2);
#ref(hoge3);
---VTK_DIRがvtkのヘッダファイル等が入っているディレクトリ...
/home/yamamoton/prog/pcl/visualization/include/pcl/visua...
---Qt5は基本使わないため、Qt5から始まるディレクトリがDIR-...
---WITH_QTのチェックボックスを外す
---Qt5はpclに入っているデフォルトのguiよりもリッチなguiな...
---パスが間違っているとmake中に以下のエラーが出るため、使...
//usr/lib/x86_64-linux-gnu/libpq.so.5: `SSL_get_peer_cer...
---Qt5使うときは[[ここ>http://unanancyowen.com/pcl-with-q...
--generateボタンを押す。
sudo make
--エラーが出ずに終了したら
sudo make install
**サンプルを動かす [#p1f0ea06]
mkdir ../prog
cd ../prog
プログラムを動かすためにはサンプルコードとCMakeLists.txt...
--サンプルコード 名前をpcd_write.cppとする
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
int main (int argc, char** argv)
{
pcl::PointCloud<pcl::PointXYZ> cloud;
// Fill in the cloud data
cloud.width = 5;
cloud.height = 1;
cloud.is_dense = false;
cloud.points.resize (cloud.width * cloud.height);
for (size_t i = 0; i < cloud.points.size (); ++i)
{
cloud.points[i].x = 1024 * rand () / (RAND_MAX + 1.0...
cloud.points[i].y = 1024 * rand () / (RAND_MAX + 1.0...
cloud.points[i].z = 1024 * rand () / (RAND_MAX + 1.0...
}
pcl::io::savePCDFileASCII ("test_pcd.pcd", cloud);
std::cerr << "Saved " << cloud.points.size () << " dat...
for (size_t i = 0; i < cloud.points.size (); ++i)
std::cerr << " " << cloud.points[i].x << " " << c...
return (0);
}
--CMakeLists.txt
---pcd_write を他のプログラム名に変えれば他のプログラムも...
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
project(HELLO_WORLD)
find_package(PCL 1.3 REQUIRED COMPONENTS common io)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable(pcd_write_test pcd_write.cpp)
target_link_libraries(pcd_write_test ${PCL_COMMON_LIBRAR...
--できたらbuildディレクトリを作り、makeとmakeをして実行フ...
mkdir build
cd build
cmake-gui でコードとcmakeLists.txtがおいてあるディレクト...
make
--実行、行列が出たらOK
./pcd_write_test
-サンプルコードまとめ(2012湯本さんのやつ)
svn co ssh:ユーザー名@mizuuchi.lab.tuat.ac.jp/home/svn/p...
cd pcl/practice
--他にもサンプルコードはある
http://pointclouds.org/documentation/tutorials/pcl_visual...
**エラー [#h2dd9ec5]
-fatal error: suitesparse/cholmod.h: No such file or dire...
sudo apt-get install -y libsuitesparse-dev
**余談 [#u233a85e]
-古いバージョンであれば、以下でインストールできる。ただし...
sudo apt-get install libpcl-all
今現在buildする以外に最新版を利用する方法はない
*PCLに実装されているキーポイント抽出方法 [#l5624486]
**PCLに実装されているキーポイント抽出方法は? [#xbfb5b0b]
-AGAST
-Brisk
-Harris
-ISS
-NARF
-SIFT
-SUSAN
-TrajkovicとHedley
*PCLに実装されている特徴表現方法 [#c29f5cd7]
-BRISK
--Stefan Leutenegger,Margarita Chli and Roland Siegwart, ...
-特徴量をバイナリコードで表現するBRIEF、BRISK、ORB、CARD...
-輝度値を参考にしている???
-FPFH
--Fast Point Feature Histogram
-GFPFH
--グローバルFast Point Feature Histogram
-GRSD
-- Global Radius-based Surface Descriptor (GRSD)
-NARF
--Normal Aligned Radial Features
End:
[[山本(小)/ 研究/進捗報告(山本(小))]]
*PCLの概要 [#vc70241c]
-3次元の点群データを扱うライブラリ
*PCLのインストール [#b6ebccaf]
**環境 [#kb020372]
-OS:Ubuntu16.04
-コンパイラのバージョン : gcc (Ubuntu 5.4.0-6ubuntu1~16.0...
--これ以外のコンパイラだと、boostのコンパイルに使ったコン...
../../lib/libpcl_visualization.so.1.7.2: undefined refer...
--gccのバージョンはgcc --versionで確認できる
**手順 [#v6e07ba8]
-pcl 1.8.1について行う
-[[参考サイト>https://larrylisky.com/2016/11/03/point-clo...
**セットアップ [#h904908d]
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 libude...
sudo apt-get install mpi-default-dev openmpi-bin openmp...
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-...
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
**ビルド [#kbeac216]
cd ~/prog
git clone https://github.com/PointCloudLibrary/pcl.git
cd pcl
mkdir build && cd build
cmake-gui
-cmake-gui の設定
--where is the source code: のパスはgit cloneしたpclディ...
/home/"ユーザー名"/prog/pcl
--where to build the binaries: のパスはmkdirしたbuildディ...
/home/yamamoton/prog/pcl/build
--configureを押すとコンパイラとMakefileについて聞かれる
Specify the generator for this project :Unix Makefilesを...
Use default native compilerを選択
チェックボックスがたくさん出てくる
--チェックボックスの項目について
--以下の画像のようにする、使う機能に合わせて調整
#ref(hoge1.png);
#ref(hoge2);
#ref(hoge3);
---VTK_DIRがvtkのヘッダファイル等が入っているディレクトリ...
/home/yamamoton/prog/pcl/visualization/include/pcl/visua...
---Qt5は基本使わないため、Qt5から始まるディレクトリがDIR-...
---WITH_QTのチェックボックスを外す
---Qt5はpclに入っているデフォルトのguiよりもリッチなguiな...
---パスが間違っているとmake中に以下のエラーが出るため、使...
//usr/lib/x86_64-linux-gnu/libpq.so.5: `SSL_get_peer_cer...
---Qt5使うときは[[ここ>http://unanancyowen.com/pcl-with-q...
--generateボタンを押す。
sudo make
--エラーが出ずに終了したら
sudo make install
**サンプルを動かす [#p1f0ea06]
mkdir ../prog
cd ../prog
プログラムを動かすためにはサンプルコードとCMakeLists.txt...
--サンプルコード 名前をpcd_write.cppとする
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
int main (int argc, char** argv)
{
pcl::PointCloud<pcl::PointXYZ> cloud;
// Fill in the cloud data
cloud.width = 5;
cloud.height = 1;
cloud.is_dense = false;
cloud.points.resize (cloud.width * cloud.height);
for (size_t i = 0; i < cloud.points.size (); ++i)
{
cloud.points[i].x = 1024 * rand () / (RAND_MAX + 1.0...
cloud.points[i].y = 1024 * rand () / (RAND_MAX + 1.0...
cloud.points[i].z = 1024 * rand () / (RAND_MAX + 1.0...
}
pcl::io::savePCDFileASCII ("test_pcd.pcd", cloud);
std::cerr << "Saved " << cloud.points.size () << " dat...
for (size_t i = 0; i < cloud.points.size (); ++i)
std::cerr << " " << cloud.points[i].x << " " << c...
return (0);
}
--CMakeLists.txt
---pcd_write を他のプログラム名に変えれば他のプログラムも...
cmake_minimum_required(VERSION 2.6 FATAL_ERROR)
project(HELLO_WORLD)
find_package(PCL 1.3 REQUIRED COMPONENTS common io)
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
add_executable(pcd_write_test pcd_write.cpp)
target_link_libraries(pcd_write_test ${PCL_COMMON_LIBRAR...
--できたらbuildディレクトリを作り、makeとmakeをして実行フ...
mkdir build
cd build
cmake-gui でコードとcmakeLists.txtがおいてあるディレクト...
make
--実行、行列が出たらOK
./pcd_write_test
-サンプルコードまとめ(2012湯本さんのやつ)
svn co ssh:ユーザー名@mizuuchi.lab.tuat.ac.jp/home/svn/p...
cd pcl/practice
--他にもサンプルコードはある
http://pointclouds.org/documentation/tutorials/pcl_visual...
**エラー [#h2dd9ec5]
-fatal error: suitesparse/cholmod.h: No such file or dire...
sudo apt-get install -y libsuitesparse-dev
**余談 [#u233a85e]
-古いバージョンであれば、以下でインストールできる。ただし...
sudo apt-get install libpcl-all
今現在buildする以外に最新版を利用する方法はない
*PCLに実装されているキーポイント抽出方法 [#l5624486]
**PCLに実装されているキーポイント抽出方法は? [#xbfb5b0b]
-AGAST
-Brisk
-Harris
-ISS
-NARF
-SIFT
-SUSAN
-TrajkovicとHedley
*PCLに実装されている特徴表現方法 [#c29f5cd7]
-BRISK
--Stefan Leutenegger,Margarita Chli and Roland Siegwart, ...
-特徴量をバイナリコードで表現するBRIEF、BRISK、ORB、CARD...
-輝度値を参考にしている???
-FPFH
--Fast Point Feature Histogram
-GFPFH
--グローバルFast Point Feature Histogram
-GRSD
-- Global Radius-based Surface Descriptor (GRSD)
-NARF
--Normal Aligned Radial Features
Page: