小编Osz*_*kar的帖子

构建Point Cloud Library时g ++未定义对符号'__cxa_free_exception @@ CXXABI_1.3'的引用

我在构建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)

c++ linker g++ point-cloud-library

8
推荐指数
1
解决办法
1万
查看次数

如何更改pcl :: PointXYZRGBA的RGB值?

我有一个类型的点 pcl::PointXYZRGBA.如何分配/更改其rgb值?

为了改变xyz坐标,我可以做到point.x = some_value.

c++ opencv image-processing computer-vision point-cloud-library

6
推荐指数
2
解决办法
1万
查看次数

如何消除能量计算中的循环?

我正在制作一个从图像中提取信息的算法 - 这些信息中的大部分都是类似能量的数据.这基本上是通过使用内核运行图像(大小作为参数给出)来获得,并获得该内核中的平方值.

这是在三个尺度中完成的,其中三个内核(补丁)大小(此时):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)

matlab image-processing

5
推荐指数
1
解决办法
847
查看次数

在Windows下为Matlab编译Shogun工具箱

我想知道你是否有人在Windows环境和Matlab界面下成功和/或可以帮助我使用Shogun库,因为我似乎无法编译它,但根据自述文件/手册它应该可以工作.

我有的东西:

  • Windows 7 64位
  • 最新的Shogun src包
  • Matlab 2010b 64bit
  • 最新的Cygwin(以管理员权限运行)

至少有两个错误:

  • 配置脚本成功检测到Matlab后,它无法检测到"Matlab开发人员支持"并退出"错误:无法找到matlab开发人员文件(例如mex.h)"(Matlab在路径中).最奇怪的是,它失败后,启动并退出Matlab两次.
  • 但即使我只为基本的libshogun和libshogunui接口运行./configure(没有matlab),make仍然失败(但./configure成功).在编译时,我收到了很多警告,而且似乎都与-pthread选项有关.而且我还收到了几条错误信息都在HDF5File.cpp中,然后失败了.我有cygwin的默认HDF5(版本1.8.6),Shogun手册没有提到任何不兼容性或参数来设置.

我只有Matlab for Windows - 我试图在Ubuntu下编译软件包,它失败了Octave接口,但它没有Octave成功.

任何想法都表示赞赏!

编辑:

Shogun的新版本已经出局并产生相同的错误.我试图在其他PC上编译它,结果相同(尽管那个也运行Win7x64)

matlab compatibility compilation machine-learning shogun

5
推荐指数
1
解决办法
1758
查看次数

在来自不同类的实例的不同线程中使用"pcl :: visualization"

我想要一个在云点上包含可视化器的类.这是我的代码:

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

c++ multithreading point-cloud-library

3
推荐指数
1
解决办法
2713
查看次数

LNK2005,MSVC2010中的"已定义错误"链接器错误

我正在尝试使用带有多个文件的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)

c++ compiler-construction visual-studio-2010 point-clouds

2
推荐指数
1
解决办法
1万
查看次数