cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Contributor
Contributor
712 Views
Registered: ‎02-06-2019

xfeatures2d functions wont work with gst pipeline. Erroneous pipeline: no element "sdxfilter2d"

Jump to solution

 I'm just trying to use OpenCV library functions in reVision platform. I made a few changes on the "filter2d_cv.cpp" file of the filter2d project. These changes are: 

  • comment out filter2D (iplanes[yiloc]... ); function. and related variables.
  • add cv::FAST(iplanes[yiloc],keypoints,20,false); 
  • add #include <opencv2/xfeatures2d.hpp> to reaching the FAST function.

I use 2018.2 vivado SDx, and 2018.2 revision platform with usbcam and hdmi. The pipeline that I use in the terminal screen : 

  gst-launch-1.0 v4l2src device=/dev/video4 ! "video/x-raw, width=1920, height=1080, format=UYVY" ! sdxfilter2d filter-preset=9 filter-mode=0 ! queue ! kmssink bus-id=b00c0000.v_mix plane-id=31 sync=false fullscreen-overlay=true

The compiler can build the project successfully, however gst pipeline gives that error:

(gst-plugin-scanner:2528): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-1.0/libgstsdxbase.so': /usr/lib/gstreamer-1.0/libgstsdxbase.so: undefined symbol: gst_sdx_allocator_new

(gst-plugin-scanner:2528): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-1.0/libgstsdxfilter2d.so': /usr/lib/gstreamer-1.0/libgstsdxfilter2d.so: undefined symbol: _ZN2cv4FASTERKNS_11_InputArrayERSt6vectorINS_8KeyPointESaIS4_EEib
WARNING: erroneous pipeline: no element "sdxfilter2d"   

First warning seen every time. I thing the major problem is the second. 

I also try different functions inside the xfeatures2d.hpp but every time element sdxfilter2d can't found (erroneous pipeline: no element "sdxfilter2d").

You can find "filter2d_cv.cpp"  file in the attachment. 

Thank you in advance.

 

0 Kudos
Reply
1 Solution

Accepted Solutions
Contributor
Contributor
664 Views
Registered: ‎02-06-2019

     I solve the problem by adding the library name as (opencv_XXX) into the right click on the project properties C,C++ General/Paths and Symbols/Libraries/Add... section. You can see from the SS.

     I don't know why adding library using #include on the project does not enough. Is someone knows that, an explanation will be helpful?

Capture.PNG

View solution in original post

0 Kudos
Reply
1 Reply
Contributor
Contributor
665 Views
Registered: ‎02-06-2019

     I solve the problem by adding the library name as (opencv_XXX) into the right click on the project properties C,C++ General/Paths and Symbols/Libraries/Add... section. You can see from the SS.

     I don't know why adding library using #include on the project does not enough. Is someone knows that, an explanation will be helpful?

Capture.PNG

View solution in original post

0 Kudos
Reply