ply,pcd格式在PCL下的显示-Ubuntu16.04默认pcl版本-知网几何视觉参考资料-meshlab视频教程

摄像机标定方法研究    苏晋    东北大学    2010-06-25    硕士
计算机立体视觉中的摄像机标定算法的研究与应用    黄侃    沈阳工业大学    2007-01-08    硕士
摄像机自标定方法的研究与进展    孟晓桥; 胡占义    自动化学报    2003-01-22    期刊
摄像机标定及相关技术研究    谭晓波    国防科学技术大学    2004-11-01    硕士
基于点特征的图像配准算法研究    赵辉    山东大学    2006-04-07    硕士
摄像机标定及相关技术研究    邹凤娇    四川大学    2005-05-10    硕士
计算机视觉中的摄像机标定方法    陈爱华; 高诚辉; 何炳蔚    中国工程机械学报    2006-10-30    期刊
摄像机现场标定算法研究    贾丹    哈尔滨工程大学    2007-02-01    硕士

 

https://wenku.baidu.com/view/4f53e0b0ccbff121dc36838c.html

http://www.doc88.com/p-3542279126276.html

https://blog.csdn.net/lixianjun913/article/details/10032019

meshlab视频教程:

https://wenku.baidu.com/video/course/v/7354a8847b66919bf9ec978fd80651b4

Mister P. MeshLab Tutorials

http://www.meshlab.net/

http://www.cse.iitd.ac.in/~mcs112609/Meshlab%20Tutorial.pdf

 

http://www.banterle.com/francesco/

http://www.banterle.com/francesco/courses/2017/be_3drec/

http://www.banterle.com/francesco/courses/2017/be_3drec/slides/

http://www.banterle.com/francesco/courses/2017/be_3drec/slides/Meshlab.pdf

http://www.cse.iitd.ac.in/~mcs112609/poisson_reconstruction%20-%20edited.pptx

 

meshlab源代码编译:

http://download.qt.io/archive/qt/5.12/5.12.5/

http://download.qt.io/archive/qt/5.9/5.9.8/

这里如果你不是下载的qt是用Ubuntu默认apt安装的qt那么要学会切换qt4和qt5,

https://blog.csdn.net/lch_vison/article/details/80899039

 

cd /usr/lib/x86_64-linux-gnu/qt-default/qtchooser
sudo gedit default.conf

 

但是最新版本的是需要qt5.9:所以还是老老实实下载把

http://www.meshlab.net/

源代码编译安装心得:

https://blog.csdn.net/u012348774/article/details/82686913

https://github.com/cnr-isti-vclab/meshlab/tree/master/src

http://www.petercheng.net/posts/meshlab-build/

http://nicklj.com/?p=719

https://github.com/cnr-isti-vclab/meshlab/blob/master/src/README.md

https://gist.github.com/LogWell/bffd0a79ff13ec392f8fcf6749388c46#file-compile_20190129_beta-sh

sudo apt install qt5-qmake qtscript5-dev libqt5xmlpatterns5-dev libqt5widgets5 libqt5gui5 libqt5network5 libqt5core5a libdouble-conversion1 libxcb-xinerama0

https://xbuba.com/questions/41725190

https://www.howtogeek.com/105413/how-to-compile-and-install-from-source-on-ubuntu/

git clone --depth 1 git@github.com:cnr-isti-vclab/meshlab.git

git clone --depth 1 git@github.com:cnr-isti-vclab/vcglib.git -b devel

# https://github.com/cnr-isti-vclab/meshlab/releases/tag/25f3d17
# https://github.com/cnr-isti-vclab/meshlab/blob/master/src/README.md

# install qt5.9
# sudo apt-get install qt5-default qtcreator libqt5xmlpatterns5-dev qtscript5-dev

# install some dependencies
# sudo apt-get install libeigen3-dev

# clone repos
# git clone --depth 1 https://github.com/cnr-isti-vclab/meshlab.git
# git clone --depth 1 https://github.com/cnr-isti-vclab/vcglib.git -b devel

# apply some patch to vcglib
# ***important***
# curl https://data.gpo.zugaina.org/gentoo/media-gfx/meshlab/files/2016.12/meshlab-2016.12-remove-header.patch | patch -p1

cd meshlab

# set build flags
# without omp
# QMAKE_FLAGS=('-spec linux-g++' 'CONFIG+=release' 'CONFIG+=qml_release' 'CONFIG+=c++11' 'QMAKE_CXXFLAGS+=-fPIC' 'QMAKE_CXXFLAGS+=-std=c++11' 'QMAKE_CXXFLAGS+=-fpermissive' 'INCLUDEPATH+=/usr/include/eigen3' "LIBS+=-L`pwd`/lib/linux-g++")

# with omp: 'QMAKE_CXXFLAGS+=-fopenmp'
QMAKE_FLAGS=('-spec' 'linux-g++' 'CONFIG+=release' 'CONFIG+=qml_release' 'CONFIG+=c++11' 'QMAKE_CXXFLAGS+=-fPIC' 'QMAKE_CXXFLAGS+=-fopenmp' 'QMAKE_CXXFLAGS+=-std=c++11' 'QMAKE_CXXFLAGS+=-fpermissive' 'INCLUDEPATH+=/usr/include/eigen3' "LIBS+=-L`pwd`/lib/linux-g++")
MAKE_FLAGS=('-j12')


# building
cd src/external
qmake external.pro ${QMAKE_FLAGS[@]} && make ${MAKE_FLAGS[@]}
cp lib/linux/* lib/linux-g++/ # normally this should not be necessary? some problem i had


cd ../common
qmake common.pro ${QMAKE_FLAGS[@]} && make ${MAKE_FLAGS[@]}


cd ..
qmake meshlab_mini.pro ${QMAKE_FLAGS[@]} && make ${MAKE_FLAGS[@]}
qmake meshlab_full.pro ${QMAKE_FLAGS[@]} && make ${MAKE_FLAGS[@]}

./distrib/meshlab

点云数据集下载:

http://www.pointclouds.org/news/2013/01/07/point-cloud-data-sets/

https://github.com/PointCloudLibrary/data 

spple@spple:~$ sudo apt-get install libpcl-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
libpcl-dev 已经是最新版 (1.7.2-14build1)。

PCL教程-百度文库:

https://wenku.baidu.com/u/2008nmj?from=wenku

PCL-phD教程:

http://robotica.unileon.es/index.php/PCL/OpenNI_tutorial_2:_Cloud_processing_(basic)

http://robotica.unileon.es/index.php/PhD-3D-Object-Tracking

 

cmake_minimum_required(VERSION 3.12)
project(PCL_demo1)

set(CMAKE_CXX_STANDARD 14)


#find_package(PCL CONFIG REQUIRED)
#/media/spple/新加卷/Dataset/pcl-master/install/share/pcl-1.9
set(PCL_DIR "/media/spple/新加卷/Dataset/pcl-master/install/share/pcl-1.9/")
find_package(PCL REQUIRED)

include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
list(REMOVE_ITEM PCL_LIBRARIES "vtkproj4")

add_executable(PCL_demo1 main_ply.cpp)
target_link_libraries (PCL_demo1 ${PCL_LIBRARIES})

 

#include <iostream>
#include <pcl/io/io.h>
#include <pcl/io/pcd_io.h>
#include <pcl/io/ply_io.h>
#include <pcl/point_types.h>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/visualization/pcl_visualizer.h>

using namespace std;
using namespace pcl;
using namespace io;

int main() {
    PointCloud<PointXYZ>::Ptr cloud(new PointCloud<PointXYZ>);

    if (pcl::io::loadPCDFile<pcl::PointXYZ>("../ball_1_1_3.pcd", *cloud) == -1) { // 读取.ply文件
        cerr << "can't read file bunny.pcd" << endl;
        return -1;
    }

    boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(new pcl::visualization::PCLVisualizer("3D Viewer"));

    pcl::visualization::PointCloudColorHandlerGenericField<pcl::PointXYZ> fildColor(cloud, "z"); // 按照z字段进行渲染

    viewer->addPointCloud<pcl::PointXYZ>(cloud, fildColor, "sample cloud");
    viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 3, "sample cloud"); // 设置点云大小
    viewer->setBackgroundColor(1,1,1);
    while (!viewer->wasStopped())
    {
        viewer->spinOnce(100);
    }
    return (0);
}
#include <iostream>
#include <string>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/io/ply_io.h>
#include <pcl/io/vtk_lib_io.h>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/PolygonMesh.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/io/ply_io.h>
//这个只能读取小文件
int displayply(std::string ply_path){

    //PointNormal
    //PointXYZRGB
    //PointXYZRGBNormal
    pcl::PointCloud<pcl::PointXYZRGB>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZRGB>);

    if (pcl::io::loadPLYFile<pcl::PointXYZRGB>(ply_path, *cloud) == -1) //* load the file
    {
        PCL_ERROR("文件读取失败! \n");
        system("PAUSE");
        return (-1);
    }

//    pcl::PolygonMesh mesh;
//    if (pcl::io::loadPolygonFilePLY(ply_path, mesh) == -1) //* load the file
//    {
//        PCL_ERROR("文件读取失败! \n");
//        system("PAUSE");
//        return (-1);
//    }

//    //pcl::StatisticalOutlierRemoval::applyFileter()
    pcl::visualization::CloudViewer viewer("Viewer");
    viewer.showCloud(cloud);
    while (!viewer.wasStopped()){ };
    return 0;
}

int readply(std::string ply_path){
    pcl::PolygonMesh mesh;

    if (pcl::io::loadPLYFile(ply_path, mesh))
    {
        std::cout << "文件读取失败!";
    }

    boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(new pcl::visualization::PCLVisualizer("3D viewer window"));
    viewer->addPolygonMesh(mesh, "mesh");
    while (!viewer->wasStopped())
    {
        viewer->spinOnce();
    }
    return 0;
}

int main()
{
    std::string name;
    //displayply("../ScannerS2019_9_9.ply");
    displayply("../ball_1_1_1.pcd");

    //readply("../ScannerS2019_9_9.ply");
    //readply("../obj_1.ply");
    return 0;
}

从零开始一起学习SLAM | 你好,点云

https://www.cnblogs.com/CV-life/p/10105480.html

如何使用PCL将XYZRGB点云转换为彩色mesh模型

https://blog.csdn.net/Sparta_117/article/details/78134819

5张彩色图+5张深度图+PCL= 点云拼接

https://blog.csdn.net/weixin_40353209/article/details/81381946

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值