- merge v0.01 --> Añadido fileselector - Añadidas fuentes de Gem y Pure Data - pix2jpg incluído en Gem. Archivos de construcción de Gem modificados. - Añadido fichero ompiling.txt con instrucciones de compilación
171 lines
5.5 KiB
Text
171 lines
5.5 KiB
Text
videoPYLON
|
|
===========
|
|
|
|
PYLON-backend for pix_video
|
|
|
|
PYLON is a proprietary library that can do image-acquisition from
|
|
a number of GigE-cameras, available from Basler Vision Technologies.
|
|
You have to download pylon yourself.
|
|
At time o writing pylon is free as in beer, however it is not OpenSource.
|
|
|
|
http://www.baslerweb.com/ (and search for "pylon")
|
|
|
|
|
|
installation instructions for linux
|
|
===================================
|
|
0. obvious prerequisites
|
|
you need a C++-compiler, Pd (inclusing headers) and the Gem-sources (including
|
|
the videoPYLON plugin)
|
|
you should have Gem running (preferrably self-compiled)
|
|
|
|
1. getting PYLON
|
|
|
|
get PYLON and install it onto your computer (and make sure to read their
|
|
installation instructions).
|
|
the directory you installed into shall henceforward be referred to as PYLON_ROOT
|
|
|
|
note: when running anything PYLONic, you will need to set PYLON_ROOT, GENICAM_ROOT_V1_1 as
|
|
environment-variables;
|
|
you will also have to set your library path, so the dynamic linker will find the
|
|
pylon libraries as needed.
|
|
for testing it makes also sense to add the pylon's bin-path to your PATH.
|
|
it's a good idea to do so right now:
|
|
e.g.
|
|
$ export PYLON_ROOT=${HOME}/lib/pylon
|
|
$ export GENICAM_ROOT_V1_1=${PYLON_ROOT}
|
|
$ export PATH=${PYLON_ROOT}/bin/:${PATH}
|
|
$ export LD_LIBRARY_PATH=${PYLON_ROOT}/lib
|
|
$ PylonViewerApp
|
|
|
|
if all went well, you should see a number of files from the pylon installation.
|
|
if not, adapt PYLON_ROOT to your system (and/or read PYLON's README again)
|
|
|
|
notes on LD_LIBRARY_PATH:
|
|
- if you already have set the LD_LIBRARY_PATH to something else before, make
|
|
sure _add_ to it:
|
|
$ export LD_LIBRARY_PATH=${PYLON_ROOT}/lib:${LD_LIBRARY_PATH}
|
|
- on 64bit systems, you might need to set it to
|
|
$ export LD_LIBRARY_PATH=${PYLON_ROOT}/lib64
|
|
instead
|
|
|
|
2. compiling videoPYLON
|
|
|
|
open a terminal and enter this directory
|
|
$ cd [Gem]/src/plugins/videoPYLON/
|
|
|
|
if you haven't done so yet, run autoreconf
|
|
$ autoreconf -fiv
|
|
(if you built Gem from source, you might have already done so)
|
|
|
|
now run configure
|
|
you will have to tell configure where to find your PYLON.
|
|
if you have set PYLON_ROOT, then the PYLON-framework
|
|
should be detected automatically, so just run:
|
|
$ ./configure
|
|
|
|
if you haven't set the environment variables, you can specify them via
|
|
configure-flags, e.g.:
|
|
$ ./configure --with-pylon=${HOME}/lib/pylon
|
|
|
|
you might also have to tell configure where to find the Pd-sources by specifying
|
|
the /path/to/pd with the "--with-pd=" flag.
|
|
for more information try:
|
|
$ ./configure --help
|
|
|
|
|
|
if all went well, you should see a line "checking for PYLON... yes" near the
|
|
end of configure's output.
|
|
|
|
now run the build:
|
|
$ make
|
|
|
|
you will get an error-message if something failed.
|
|
|
|
if you want, you can install the plugin into /usr/local/lib/pd/extra/Gem (or
|
|
wherever you specified with the "--libdir=" flag, by running
|
|
$ make install
|
|
|
|
you can also manually install the plugin, by copying the file
|
|
".libs/gem_videoPYLON.so" next to your Gem-binary.
|
|
|
|
|
|
3. using videoPYLON
|
|
|
|
start Pd/Gem
|
|
create an object [pix_video]
|
|
on the Pd-console, you should see (among other things) something like:
|
|
"[pix_video]: backend #0='pylon' : pylon gige"
|
|
the backend-# will be different) depending on the number of video-backends found
|
|
on your system; it's only important that you find one backend named "pylon"
|
|
|
|
probably this won't work, with Gem complaining that it cannot find
|
|
"libpylonbase.so" or similar.
|
|
in this case should tell the linker where to find the pylon-libraries, using
|
|
the LD_LIBRARY_PATH variable:
|
|
$ LD_LIBRARY_PATH=${PYLON_ROOT}/lib pd -lib Gem
|
|
should do the trick. (see above, section 2)
|
|
|
|
once the plugin loaded correctly, you can start using it.
|
|
tell [pix_video] to open a device named like
|
|
"Basler scA640-120gm#0030530F8E64#192.168.1.100:3956"
|
|
(that's a single long symbol with _spaces_ (and without quotes)!)
|
|
The name consists of vendor, modelname, MAC-address, IP-address and port, which
|
|
allows one to quite uniquely identify your camera.
|
|
Since such names are a bit awkward to use, you probably want to:
|
|
1: connect to your camera with something like "PylonViewerApp" and change
|
|
"user defined name" to something like "mycam"
|
|
2: enumerate all available devices (using the "enumerate" message to
|
|
[pix_video]
|
|
3: access the device with it's short name "mycam".
|
|
|
|
you really have to run the "enumerate" in order to make [pix_video] aware of the
|
|
user definee name!
|
|
|
|
examples:
|
|
[list Basler scA640-120gm#0030530F8E64#192.168.1.100:3956(
|
|
|
|
|
[symbol2list]
|
|
|
|
|
[device $1(
|
|
will search for a GigE-camera (scout scA640-120g) at the specified IP/MAC-address
|
|
and connect.
|
|
|
|
[enumerate, device mycam(
|
|
will search for the cam named "mycam"
|
|
|
|
possible issues (FAQ)
|
|
=====================
|
|
|
|
Q1: my image quality is bad (white stripes)
|
|
A1: make sure you have a Gigabit-Ethernet card and enable "Jumbo Frames"
|
|
you can do so by setting the MTU of your network card to 8000-9000
|
|
e.g. use (as root):
|
|
# ifconfig eth1 mtu 9500
|
|
|
|
Q2: i called the "resetDevice" command on the camera, and now it stopped working
|
|
(it grabs some images and then stops)
|
|
A2: make sure you have "Jumbo Frames" also enabled on the _camera_!
|
|
there is a parameter (in PylonViewerApp it is only visible in professional mode
|
|
and it is somewhere in the "Transport" section) called either "PayloadSize" or
|
|
"GevSCPSPacketSize" which you should set to the same value as your MTU.
|
|
see the pylon documentation for more info
|
|
|
|
Q3: it doesn't work reliably (e.g. it works a bit, and then stops)
|
|
A3: make sure you have "Jumbo Frames" on both your network card and your camera
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
fmgasdr
|
|
IOhannes m zmölnig
|
|
Graz, 18.11.2010
|
|
|
|
|
|
|
|
|
|
|
|
|