我在构建Point Cloud Library时遇到了一些问题.我正在运行Ubuntu,我有3个版本的GCC和Clang(可能是问题所在).我试着使用G ++ 4.6自带与Ubuntu以建设PCL捆绑,因为它似乎已经得到最远的我已经试过编译器.但是我有这个问题:
> Linking CXX executable ../../bin/pcl_convert_pcd_ascii_binary cd /home/oni/Projects/pcl/build/io/tools && /usr/bin/cmake -E cmake_link_script CMakeFiles/pcl_convert_pcd_ascii_binary.dir/link.txt
--verbose=1 /usr/bin/g++ -lstdc++ -pthread -fopenmp -Wno-deprecated -O2 -g -lstdc++ -Wl,--as-needed CMakeFiles/pcl_convert_pcd_ascii_binary.dir/convert_pcd_ascii_binary.cpp.o
-o ../../bin/pcl_convert_pcd_ascii_binary -rdynamic -L/usr/local/lib -L/home/oni/Projects/OpenNI/Lib /usr/local/lib/libboost_serialization.so /usr/local/lib/libboost_mpi.so /usr/local/lib/libboost_system.so /usr/local/lib/libboost_filesystem.so /usr/local/lib/libboost_thread.so /usr/local/lib/libboost_date_time.so /usr/local/lib/libboost_iostreams.so -lpthread -lm ../../lib/libpcl_common.so.1.7.1 ../../lib/libpcl_io.so.1.7.1 ../../lib/libpcl_common.so.1.7.1 ../../lib/libpcl_io_ply.so.1.7.1 /usr/local/lib/libboost_serialization.so /usr/local/lib/libboost_mpi.so /usr/local/lib/libboost_system.so /usr/local/lib/libboost_filesystem.so /usr/local/lib/libboost_thread.so /usr/local/lib/libboost_date_time.so /usr/local/lib/libboost_iostreams.so -lm /usr/lib/libvtkWidgets.so.5.8.0 /usr/lib/libvtkHybrid.so.5.8.0 /usr/lib/libvtkParallel.so.5.8.0 /usr/lib/libvtkVolumeRendering.so.5.8.0 /usr/lib/libvtkRendering.so.5.8.0 /usr/lib/libvtkIO.so.5.8.0 /usr/lib/libvtkImaging.so.5.8.0 /usr/lib/libvtkGraphics.so.5.8.0 /usr/lib/libvtkFiltering.so.5.8.0 /usr/lib/libvtkCommon.so.5.8.0 /usr/lib/libvtksys.so.5.8.0 -ldl -lm -lpng -lusb-1.0 -lOpenNI
-Wl,-rpath,/usr/local/lib:/home/oni/Projects/pcl/build/lib:/usr/lib/openmpi/lib:/home/oni/Projects/OpenNI/Lib:
-Wl,-rpath-link,/usr/lib/openmpi/lib /usr/bin/ld: CMakeFiles/pcl_convert_pcd_ascii_binary.dir/convert_pcd_ascii_binary.cpp.o: undefined reference to symbol '__cxa_free_exception@@CXXABI_1.3' /usr/bin/ld: …Run Code Online (Sandbox Code Playgroud) 我有一个类型的点 pcl::PointXYZRGBA.如何分配/更改其rgb值?
为了改变xyz坐标,我可以做到point.x = some_value.
c++ opencv image-processing computer-vision point-cloud-library
我正在制作一个从图像中提取信息的算法 - 这些信息中的大部分都是类似能量的数据.这基本上是通过使用内核运行图像(大小作为参数给出)来获得,并获得该内核中的平方值.
这是在三个尺度中完成的,其中三个内核(补丁)大小(此时):smallestPatchSize,smallestPatchSize*3,smallestPatchSize*9(在第二和第三种情况下具有重叠内核).这是针对几种颜色通道,梯度滤波器等完成的(共有17种颜色通道).
我的问题是,是否可以对下面的代码进行矢量化; 很明显,这部分代码需要比其他代码更多的时间来运行.我是Matlab的初学者,仍然试图获得矢量化的一席之地但是这个让我很开心:)
for dim = 1:17
for i = 1:smallestPatchSize:(size(image,1) - currentPatchSize)
for j = 1:smallestPatchSize:(size(image,2) - currentPatchSize)
% calculate the position in the energy matrix
% which has different dimensions than the input pictures
iPosition = (i - 1 + smallestPatchSize) / smallestPatchSize;
jPosition = (j - 1 + smallestPatchSize) / smallestPatchSize;
% calculate the energy values and save them into the energy matrix
energy(iPosition, jPosition, dim) = sum(sum(abs(...
filters(i:i+currentPatchSize, j:j+currentPatchSize,dim)))) ^ 2;
end
end …Run Code Online (Sandbox Code Playgroud) 我想知道你是否有人在Windows环境和Matlab界面下成功和/或可以帮助我使用Shogun库,因为我似乎无法编译它,但根据自述文件/手册它应该可以工作.
我有的东西:
至少有两个错误:
我只有Matlab for Windows - 我试图在Ubuntu下编译软件包,它失败了Octave接口,但它没有Octave成功.
任何想法都表示赞赏!
编辑:
Shogun的新版本已经出局并产生相同的错误.我试图在其他PC上编译它,结果相同(尽管那个也运行Win7x64)
我想要一个在云点上包含可视化器的类.这是我的代码:
class my_vis
{
void vis_func ()
{
pcl::visualization::PCLVisualizer *vis ;
vis = new pcl::visualization::PCLVisualizer("octree viewer");
// this "vis" is just used in this function and no other place
}
void execute(){
//Start visualizer in a thread
boost::thread* visThread = new boost::thread(boost::bind(&my_vis::vis_func, this));
// bla bla
}
}
int main ()
{
my_vis vis1();
vis1.execute();
my_vis vis2();
vis2.execute();
std::getchar();
return 0 ;
}
Run Code Online (Sandbox Code Playgroud)
现在我有一类可视化器,可以在"main"中实例化.当我从类"my_vis"中只创建一个实例时,程序运行时每件事都可以.但我需要两个或更多实例.当我初始化多个实例时,发生了错误:BLOCK_TYPE_IS_VALID我认为这是因为使用了线程.但是在我的项目中需要线程化.
你能帮帮我吗?非常感谢您的耐心和帮助:)
PS我正在使用PCL 1.7
我正在尝试使用带有多个文件的Point Cloud Library和OpenCV来实现测试项目.当我尝试编译时,我收到"已定义的错误"消息.可能我做了一些愚蠢的事情,由于某些原因无法实现 - 我尝试了一些在这里找到的解决方案,在我的案例中似乎没有任何帮助.
是)我有的:
一个libs.h文件,我在其中加载lib文件(在Project属性中,我只设置.lib路径并"手动"加载libs,如标题):
#pragma once
#ifndef PCLTEST_LIBS
#define PCLTEST_LIBS
#ifdef _DEBUG
#pragma comment(lib, "pcl_apps-gd.lib")
#pragma comment(lib, "pcl_common-gd.lib")
// a bunch of other debug libs
#else
// the release libs
#endif
#endif
Run Code Online (Sandbox Code Playgroud)
一个主文件,我基本上删除了此时调试的所有内容:
// load the libs
#ifndef PCLTEST_LIBS
#include "libs.h"
#endif
// pcltest includes
// if only this first one is #included, everything is OK
#include "opencvOperations.h"
// #including this one causes the error
#include "files.h"
// these ones are not working also
//#include "cloudOperations.h"
//#include …Run Code Online (Sandbox Code Playgroud)