繁体   English   中英

如何在Raspberry Pi中使用Basler GigE相机pylon5 c ++库

[英]How to use Basler GigE camera pylon5 c++ libraries in Raspberry Pi

我试图从单独的项目中调用pylon5 C ++库,但没有成功。

我一直在寻找一个答案,但却无法弄清楚我做错了什么。

我想我的问题可能是设置环境变量和/或库路径? (我是基于Linux的初学者,当我在网上阅读教程时,我很容易对一些显而易见的东西感到困惑?我应该知道但我不知道的事情)

我已经测试过相机本身正在使用我的Raspberry,我可以使用示例代码来获取图像。

我甚至可以修改相机设置(曝光时间等)并拍照并将其保存到SD卡中。 所以相机模块不是问题。 我的问题更有可能以正确的方式使用共享库。

此外,我已经制作了一些简单的共享库,希望我可以使用我的Pylon相机代码。 当我没有在我的库中包含任何Pylon代码时,它工作正常并返回我想要的值。 我甚至可以在那里添加Pylon接头,它仍然可以很好地编译。 然后,我可以从另一个(在本例中为C#)代码调用我的lib并按预期获得返回值,但是当尝试调用任何Pylon代码(在我的库中)时,将导致'dllNotFoundException'。

我已将我的pylon5代码放在/ opt / pylon5中,正如我从baslerweb.com获得的手册中所建议的那样
http://s.baslerweb.com/media/documents/How%20to%20build%20pylon%20applications%20on%20Raspberry%20Pi.pdf

这是我的项目文件(我正在使用QtCreator)

#-------------------------------------------------

QT       -= gui
QT       += core

TARGET = baslercamera
TEMPLATE = lib

DEFINES += BASLERCAMERA_LIBRARY

SOURCES += baslercamera.cpp \    
    Grab.cpp \
    Image.cpp \
    main.cpp \
    BaslerDLL.cpp


HEADERS += baslercamera.h\
    baslercamera_global.h \
    Image.h \
    Grab.h


unix {
    target.path = /usr/lib
    INSTALLS += target
}


#INCLUDEPATH += $$PWD/../pylon5/include
#DEPENDPATH += $$PWD/../pylon5/include

INCLUDEPATH += /opt/pylon5/include
DEPENDPATH += /opt/pylon5/include


INCLUDEPATH += /home/pi/baslercamera/
DEPENDPATH += /home/pi/baslercamera/

LIBS += "/opt/pylon5/lib" \
    -lpylonc

正如您所看到的,INCLUDEPATH和LIBS变量是我的弱点。 我无法弄清楚我应该包含哪些库以及如何正确包含它们。 除了将它们包含在我的项目文件中之外,我还应该设置一些环境变量吗?

我也尝试设置一些库路径,但我真的不知道我应该在那里做什么。 用户手册说

Set the pylon environment variables:
# source ./pylon4/bin/pylon-setup-env.sh pylon4 

然后我用pylon5替换了pylon4。 我认为这可能会将环境变量设置为使用pylon库。 但我不确定那里会发生什么。 塔架5指南说:

Environment Variables
=====================

From pylon 5.0 upwards, no additional environment variables are required to
run pylon-based applications.

For development, though, the compiler must know where pylon is installed.
The pylon samples use the environment variable PYLON_ROOT to find the relevant information.

For your convenience, we created the pylon-setup-env.sh script located in the 
pylon5/bin directory which can carry out the complete setup.

To setup the environment for a pylon installation in <path> execute:
  source <path>/bin/pylon-setup-env.sh <path>

If you want the environment for the standard installation to be persistent, you 
can add
   source /path/to/your/pylon5/bin/pylon-setup-env.sh /path/to/your/pylon5
to ~/.bashrc

For special use cases, you can do a manual environment setup as follows:

   export PYLON_ROOT=/path/to/your/pylon5

Even though there is currently only one variable needed, using pylon-setup-env.sh
is still the preferred way to set up your environment, as we might add more variables
in the future.

我已经在很多方面尝试过,我很乐意在我自己的库中继续使用这些共享库的任何帮助或建议。

哇,这个问题很老了,我很惊讶它还没有回答。

我只是让它工作,但我的项目使用Scons作为构建系统。 不过,我发现的问题是它没有连接足够的库。 这是我设置得到我需要的东西( qmake语法可能会关闭):

LIBS += \
  -L/opt/pylon5/lib64 \
  -lpylonbase \
  -lGenApi_gcc_v3_0_Basler_pylon_v5_0 \
  -lGCBase_gcc_v3_0_Basler_pylon_v5_0 \
  -lLog_gcc_v3_0_Basler_pylon_v5_0 \
  -lMathParser_gcc_v3_0_Basler_pylon_v5_0 \
  -lXmlParser_gcc_v3_0_Basler_pylon_v5_0 \
  -lNodeMapData_gcc_v3_0_Basler_pylon_v5_0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM