Coder Social home page Coder Social logo

Comments (15)

TIS-Edgar avatar TIS-Edgar commented on May 27, 2024

Hi,

With the description of your wanted setup I would suggest you take a look a look at triggering.

It should allow you the sequenced image retrieval from different cameras and also enable custom time intervals.

Cheers,

from tiscamera.

hanabata avatar hanabata commented on May 27, 2024

Hi,

Thank you very much for your suggestion. We are trying to do that but could you also teach us the page or any document describing it? It would help us so efficiently.
I would like to ask you one more question. In this trigger mode, does the camera work as not video but simply picture (snap shot) mode?

from tiscamera.

TIS-Edgar avatar TIS-Edgar commented on May 27, 2024

The steps for triggering with aravis are:

  • Create a stream
  • Register callback function
  • Set acquisition mode to continuous
  • Activate Trigger Mode
  • Start acquisition
  • Send Trigger Command to capture image

The callback function will now be called every time a new image arrives (i.e. you activated trigger).

A real life example can be found here:
https://gitorious.org/gevcapture/gevcapture/source/4c260062d6e7b1da2cec04215734e8ea901fe349:gevCapture.c#L360

I hope this helps clarifying things for you.

from tiscamera.

hanabata avatar hanabata commented on May 27, 2024

Hi,

Thank you a lot!
I tried to compile gevCapture.c to see how it works but failed with an error. I've attached the log of the compilation below. If you know how to solve it, could you teach me?
I already succeeded to install ARAVIS 0.3.5 and /usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libgobject-2.0.so exists.

/usr/bin/gcc -g -O0 -std=c99 -Wall -I/usr/local/include/aravis-0.4 -pthread -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng12 -DUSE_GIGE -pthread -c -o gevCapture.o -DVERSION="$(./printversion.sh)" gevCapture.c
gevCapture.c: In function ‘main’:
gevCapture.c:1012:3: warning: ‘g_type_init’ is deprecated (declared at /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations]
g_type_init(); // depreciated, but required on older installs
^
/usr/bin/gcc -L/usr/local/lib -lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo -lgobject-2.0 -lglib-2.0 -Wl,-E -lrt -lpthread -o gevCapture gevCapture.o -laravis-0.4
/usr/bin/ld: gevCapture.o: undefined reference to symbol 'g_type_check_instance_is_a'
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/libgobject-2.0.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [gevCapture] Error 1

from tiscamera.

TIS-Edgar avatar TIS-Edgar commented on May 27, 2024

Do you have all necessary header files installed?
Execute sudo apt-get install libglib2.0-dev on ubuntu/debian to install them.

I was able to compile the project fine, so it boils down to where the difference in our setup is.

from tiscamera.

hanabata avatar hanabata commented on May 27, 2024

Hi,

I already install libglib2.0-dev but somehow failed. This error occurs on the Ubuntu 13.10 in my laptop.
By the way, with some reasons we have mainly used the computer installed the Ubuntu 12.04.5 LTS and also failed with the same error. Furthermore, I found that ARAVIS_0_3_1 is compiled success fully this Ubuntu (12.04.5 LTS) while after 0.3.2 we fail the compilation as follows,

% ./configure --enable-viewer --enable-gst-plugin
Configuration:

Compiler: gcc
Compiler flags: -pthread -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/libxml2
Linker flags: -lm -pthread -lgio-2.0 -lgobject-2.0 -lxml2 -lgthread-2.0 -lrt -lglib-2.0 -lz

Build viewer: yes
Build gstreamer plugin: yes
Build gstreamer-0.10 plugin: no

% make[1]: Entering directory /home/amc/hanabata/AMC/ARAVIS_0_3_2/viewer' CCLD arv-viewer arvviewer.o: In functionarv_viewer_select_camera_cb':
/home/amc/hanabata/AMC/ARAVIS_0_3_2/viewer/arvviewer.c:668: undefined reference to _gst_fraction_type' collect2: ld returned 1 exit status make[1]: *** [arv-viewer] Error 1 make[1]: Leaving directory/home/amc/hanabata/AMC/ARAVIS_0_3_2/viewer'
make: *** [all-recursive] Error 1

On the Ubuntu 13.10, I've never seen this kind of error. I guess the lack of streamer-0.10 plugin might be the cause despite although I did not include the --enable-gst-plugin-0.10 option. Is it necessary for the ARAVIS compilation? Actually I looked for the way to install gstreamer-base-0.10
gstreamer-app-0.10 but I could not find suitable one. If you know, could you teach me?

One more thing, what version of ARAVIS is needed for the compilation of gevCapture.c?

Sorry for making the thing complicated.
Thank you!

from tiscamera.

TIS-Edgar avatar TIS-Edgar commented on May 27, 2024

Hi,

The viewer changed to gstreamer-1.0 with release 0.3.2.
You can find the announcement here: http://www.freelists.org/post/aravis/Release-of-Aravis-032

Quote:

Changes:

  • gst_plugin: new plugin based on gstreamer 1.0, in addition to the existing 0.10 version.
    • gst_plugin: add packet-resend property.
  • viewer: port to gstreamer 1.0, and drop support for gtk+ 2.0.
  • viewer: fix video output for camera with buggy time stamping.
  • camera: fix frame rate setting for Point Grey devices.

If you wish to use or plugins you will currently have to use gst-0.10 (which hopefully will change soon).

_gst_fraction_type' undefined reference

gcc seems to find the header but not the library to resolve gst_fraction_type, which is....weird.
Do any mistakes occur during configure (as in missing library, etc)?
I have uploaded a successful configure for comparisons sake here.

If you need to install gstreamer libraries I would suspect libgstreamer1.0-dev or something related is missing.

One more thing, what version of ARAVIS is needed for the compilation of gevCapture.c?

I am not aware of any restrictions to certain aravis version. The API has not changed for a long time and should be considered stable, so it should not matter which version is used.

from tiscamera.

hanabata avatar hanabata commented on May 27, 2024

Hi,

I've not seen any errors and false during configure. I got exactly the same result for ARAVIS_0_3_2 on the Ubuntu 12.04.5 LTS as yours with the same options in your example.
The result of the configure is below.

Configuration:

Compiler: gcc
Compiler flags: -pthread -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/libxml2
Linker flags: -lm -pthread -lgio-2.0 -lgobject-2.0 -lxml2 -lgthread-2.0 -lrt -lglib-2.0 -lz

Build viewer: yes
Build gstreamer plugin: yes
Build gstreamer-0.10 plugin: yes

When I executed make command, I got the same error as one in my previous comment.

% make
….
….
GICOMP Aravis-0.4.gir
make[2]: Leaving directory /home/amc/hanabata/AMC/ARAVIS_0_3_2/src' make[1]: Leaving directory/home/amc/hanabata/AMC/ARAVIS_0_3_2/src'
Making all in viewer
make[1]: Entering directory /home/amc/hanabata/AMC/ARAVIS_0_3_2/viewer' CC arvviewer.o CCLD arv-viewer arvviewer.o: In functionarv_viewer_select_camera_cb':
/home/amc/hanabata/AMC/ARAVIS_0_3_2/viewer/arvviewer.c:668: undefined reference to _gst_fraction_type' collect2: ld returned 1 exit status make[1]: *** [arv-viewer] Error 1 make[1]: Leaving directory/home/amc/hanabata/AMC/ARAVIS_0_3_2/viewer'
make: *** [all-recursive] Error 1

I have no idea why this happens.

Cheers,

from tiscamera.

TIS-Edgar avatar TIS-Edgar commented on May 27, 2024

Ok,

I assume you called make clean before recompiling to assure all object files are recompiled (caching can be an issue)?
Are really all dependencies installed (I assume yes, or configure should have thrown an error)? A list of known dependencies can be found in our wiki.

Have tried the aravis mailing list? Maybe they will be able to see what I don't. I will continue searching what dependency/configuration is missing...

from tiscamera.

hanabata avatar hanabata commented on May 27, 2024

Hi,

I assume you called make clean before recompiling to assure all object files are recompiled (caching can be an issue)?

Yes. I run make clean when I recompile.

Are really all dependencies installed (I assume yes, or configure should have thrown an error)? A list of known dependencies can be found in our wiki.

As I wrote in the previous comment, I've missed gstreamer-base-0.10
gstreamer-app-0.10. But if I remove --enable-gst-plugin-0.10 from the option, the same error happens.

Besides, I would like ask you the correct way of the compilation.
Should I first run ./autogen.sh and then run configure?

Thank you!

from tiscamera.

TIS-Edgar avatar TIS-Edgar commented on May 27, 2024

Since autogen only generates the configure script it should (in theory) not affect the discovery of libraries an header files.

At this point I am not sure why aravis is not building on your system. Please ask on the aravis mailing list. They will be able to help better than I

from tiscamera.

hanabata avatar hanabata commented on May 27, 2024

Hi,

I already ask about it to the people in aravis and they are trying to understand what the problem is.
Thank you very much.

from tiscamera.

hanabata avatar hanabata commented on May 27, 2024

Hi,

I succeeded to compile ARAVIS_0_3_2 with "./configure --enable-viewer --enable-gst-plugin --enable-gst-0.10-plugin --enable-introspection=yes"
After the compilation I ran "make install" and tried to compile gevCapture.c. But I faced the following error which is the same as what I reported here.

% make
/usr/bin/gcc -L/usr/local/lib -lgtk-3 -lgdk-3 -latk-1.0 -lgio-2.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo -lgobject-2.0 -lglib-2.0 -Wl,-E -lrt -lpthread -o gevCapture gevCapture.o -laravis-0.4
/usr/bin/ld: gevCapture.o: undefined reference to symbol 'g_signal_connect_data'
/usr/bin/ld: note: 'g_signal_connect_data' is defined in DSO /usr/lib/gcc/i686-linux-gnu/4.6/../../../i386-linux-gnu/libgobject-2.0.so so try adding it to the linker command line
/usr/lib/gcc/i686-linux-gnu/4.6/../../../i386-linux-gnu/libgobject-2.0.so: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make: *** [gevCapture] Error 1

Actually, /usr/lib/gcc/i686-linux-gnu/4.6/../../../i386-linux-gnu/libgobject-2.0.so exists.
Do you know why this causes?

Cheers,
Yoshi

from tiscamera.

TIS-Edgar avatar TIS-Edgar commented on May 27, 2024

Hi,

I have not seen that error before. My best guess would be something on the line of this: https://fedoraproject.org/wiki/UnderstandingDSOLinkChange

from tiscamera.

hanabata avatar hanabata commented on May 27, 2024

Hi,

I succeeded to compile!
I modified LIBS := -laravis-0.4 by adding -lgobject-2.0 -lrt -lglib-2.0 -pthread in my case.

Yoshi

On Sep 17, 2014, at 11:26 PM, Edgar [email protected] wrote:

Hi,

I have not seen that error before. My best guess would be something on the line of this: https://fedoraproject.org/wiki/UnderstandingDSOLinkChange


Reply to this email directly or view it on GitHub.

from tiscamera.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.