Xilinx / xfopencv

Other
329 stars 143 forks source link

Canny EdgeTracing error #50

Open estibalitz opened 5 years ago

estibalitz commented 5 years ago

I am trying to implement the Canny edge detection in SDx 2017.4 using the release of 2017.4. I imported the files in the folder Canny to do so, and I tried to solve some problems related to data type. But after all, what I am facing is that the EdgeTracing <XF_2UC1,XF_8UC1,HEIGHT, WIDTH, XF_NPPC32,XF_NPPC8>(_dst1,_dst2) is no implemened because it doesn match.

I changed it into --> xf::xfEdgeTracing<XF_2UC1,XF_8UC1,HEIGHT, WIDTH, XF_NPPC32,XF_NPPC8>(_dst1,_dst2); because this is how is defined in xf_edge_tracing.hpp xfEdgeTracing((unsigned long long )_dst.data,(unsigned long long )_src.data,_dst.rows,_dst.cols);

But I am getting the following error:

ERROR: [SdsCompiler 83-5005] clang exited with non-zero code processing /home/aranbarr/Documents/Algoritmos/003/reVISION-Zybo-Z7-20-2017.4-3/003/src/xf_canny_accel.cpp ERROR: [SdsCompiler 83-5004] Build failed

src/subdir.mk:21: recipe for target 'src/xf_canny_accel.o' failed make: *** [src/xf_canny_accel.o] Error 1

bgouthamb commented 5 years ago

@estibalitz

What steps did you follow to build the Canny function? Are you following the UG1233 document? Have you modified anything in any of the xfOpenCV files? Did you try building the Canny example as is?

estibalitz commented 5 years ago

Yes, I am using the UG1233, I haven modifed anything in the xfOpenCV file and I did try to run the example as it is... but it gets stuck [image: image.png]

Hau idatzi du Goutham Borra (notifications@github.com) erabiltzaileak (2019 mai. 16, og. (11:50)):

@estibalitz https://github.com/estibalitz

What steps did you follow to build the Canny function? Are you following the UG1233 https://www.xilinx.com/support/documentation/sw_manuals/xilinx2017_4/ug1233-xilinx-opencv-user-guide.pdf document? Have you modified anything in any of the xfOpenCV files? Did you try building the Canny example as is?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Xilinx/xfopencv/issues/50?email_source=notifications&email_token=AFUL2H2TYLY2CRL5M5RIKYDPVUU7DA5CNFSM4HNBU2Y2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVRJK6Y#issuecomment-493000059, or mute the thread https://github.com/notifications/unsubscribe-auth/AFUL2H36GHNHHSMTQBRNNQDPVUU7DANCNFSM4HNBU2YQ .

estibalitz commented 5 years ago

I have just created the project as I was going to create a bilateral filter demo, and in the src folder I replaced all the bilateral filters file for the canny filter files.

As I was getting problems, I tried to run it in the CPU not in the HW, and although this, it does not work

Hau idatzi du Maria Estibaliz Arambarri Cincunegui ( maria.arambarri@alumni.mondragon.edu) erabiltzaileak (2019 mai. 16, og. (14:37)):

Yes, I am using the UG1233, I haven modifed anything in the xfOpenCV file and I did try to run the example as it is... but it gets stuck [image: image.png]

Hau idatzi du Goutham Borra (notifications@github.com) erabiltzaileak (2019 mai. 16, og. (11:50)):

@estibalitz https://github.com/estibalitz

What steps did you follow to build the Canny function? Are you following the UG1233 https://www.xilinx.com/support/documentation/sw_manuals/xilinx2017_4/ug1233-xilinx-opencv-user-guide.pdf document? Have you modified anything in any of the xfOpenCV files? Did you try building the Canny example as is?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Xilinx/xfopencv/issues/50?email_source=notifications&email_token=AFUL2H2TYLY2CRL5M5RIKYDPVUU7DA5CNFSM4HNBU2Y2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVRJK6Y#issuecomment-493000059, or mute the thread https://github.com/notifications/unsubscribe-auth/AFUL2H36GHNHHSMTQBRNNQDPVUU7DANCNFSM4HNBU2YQ .

bgouthamb commented 5 years ago

@estibalitz

Have you followed the steps in "Using the xfOpenCV Library on a non-reVISION Platform" section or "Using reVISION Samples on the reVISION Platform" section of UG1233? Are you getting similar issues with other functions too? Can you post the complete log file(s)?

estibalitz commented 5 years ago

I am using it in a reVision platform and I am not getting similar outputs with other functions.

estibalitz commented 5 years ago

the errors are the following ones:

image

image

But I don't understand why there is a mismatch between the function definition and the actual original implementation.

This is teh console output:

08:37:34 Incremental Build of configuration Debug for project Accelerated_Tongue make pre-build main-build sdsoc_make_clean Debug

Building file: ../src/main.cpp Invoking: SDS++ Compiler sds++ -D__ARM_PCS_VFP -DHLS_NO_XIL_FPO_LIB -Wall -O0 -g -I"../src" -I/home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/linux/linux/inc/include -c -fmessage-length=0 -MT"src/main.o" -I/home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/sysroot/usr/include/c++/6.2.1 -I/home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/sysroot/usr/include/c++/6.2.1/arm-xilinx-linux-gnueabi -I/home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/sysroot/usr/include/c++/6.2.1/backward -I/home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/sysroot/usr/include -I/home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/sysroot/usr/include/glib-2.0 -I/home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/sysroot/usr/lib/glib-2.0/include -Wno-overloaded-virtual -Wno-unused-label -Wno-strict-overflow -Wno-uninitialized -Wno-unused-function -Wno-unused-variable -Wno-unknown-attributes -Wno-unused-local-typedefs -Wno-sign-compare -MMD -MP -MF"src/main.d" -MT"src/main.o" -o "src/main.o" "../src/main.cpp" -sds-hw "xf::bilateralFilter<3,1,0,1080,1920,1>" xf_bilateral_filter_accel.cpp -files /home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/linux/linux/inc/include/imgproc/xf_bilateral_filter.hpp -clkid 0 -sds-end -sds-sys-config linux -sds-proc linux -sds-pf "/home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20" Create data motion intermediate representation ../src/xf_warpperspective_config.h:57:9: warning: 'IN_TYPE' macro redefined [-Wmacro-redefined]

define IN_TYPE unsigned long long int

    ^

../src/xf_bilateral_filter_config.h:49:9: note: previous definition is here

define IN_TYPE ap_uint<8>

    ^

/home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/linux/linux/inc/include/imgproc/xf_canny_utils.hpp:490:9: warning: unknown pragma ignored [-Wunknown-pragmas]

pragma hls inline

    ^

/home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/linux/linux/inc/include/imgproc/xf_edge_tracing.hpp:24:9: warning: 'MIN' macro redefined [-Wmacro-redefined]

define MIN(x, y) (((x) < (y)) ? (x) : (y))

    ^

/home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/sysroot/usr/include/opencv2/core/cvdef.h:443:11: note: previous definition is here

define MIN(a,b) ((a) > (b) ? (b) : (a))

      ^

Compiling /home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/Accelerated_Tongue/src/main.cpp from /home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/linux/linux/inc/include/common/xf_sw_utils.h:33, from /home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/Accelerated_Tongue/src/xf_headers_bil.h:62, from /home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/Accelerated_Tongue/src/main.cpp:1: /home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/linux/linux/inc/include/imgproc/xf_edge_tracing.hpp:266:25: warning: variable ‘lbound’ set but not used [-Wunused-but-set-variable] bool rbound = false, lbound = false; ^~ At global scope: cc1plus: warning: unrecognized command line option ‘-Wno-unknown-attributes’ sds++ log file saved as /home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/Accelerated_Tongue/Debug/_sds/reports/sds_main.log

Finished building: ../src/main.cpp

Building file: ../src/xf_canny_accel.cpp Invoking: SDS++ Compiler sds++ -D__ARM_PCS_VFP -DHLS_NO_XIL_FPO_LIB -Wall -O0 -g -I"../src" -I/home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/linux/linux/inc/include -c -fmessage-length=0 -MT"src/xf_canny_accel.o" -I/home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/sysroot/usr/include/c++/6.2.1 -I/home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/sysroot/usr/include/c++/6.2.1/arm-xilinx-linux-gnueabi -I/home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/sysroot/usr/include/c++/6.2.1/backward -I/home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/sysroot/usr/include -I/home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/sysroot/usr/include/glib-2.0 -I/home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/sysroot/usr/lib/glib-2.0/include -Wno-overloaded-virtual -Wno-unused-label -Wno-strict-overflow -Wno-uninitialized -Wno-unused-function -Wno-unused-variable -Wno-unknown-attributes -Wno-unused-local-typedefs -Wno-sign-compare -MMD -MP -MF"src/xf_canny_accel.d" -MT"src/xf_canny_accel.o" -o "src/xf_canny_accel.o" "../src/xf_canny_accel.cpp" -sds-hw "xf::bilateralFilter<3,1,0,1080,1920,1>" xf_bilateral_filter_accel.cpp -files /home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/linux/linux/inc/include/imgproc/xf_bilateral_filter.hpp -clkid 0 -sds-end -sds-sys-config linux -sds-proc linux -sds-pf "/home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20" Create data motion intermediate representation /home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/linux/linux/inc/include/imgproc/xf_canny_utils.hpp:490:9: warning: unknown pragma ignored [-Wunknown-pragmas]

pragma hls inline

    ^

/home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/Accelerated_Tongue/src/xf_canny_accel.cpp:44:2: error: no matching function for call to 'Canny' xf::Canny<FILTER_WIDTH,NORM_TYPE,XF_8UC1,XF_2UC1,HEIGHT, WIDTH,INTYPE,OUTTYPE,XF_USE_URAM>(_src,_dst,low_threshold,high_threshold); ^~~~~~~~~~~~~~~~~~~~~~ /home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/linux/linux/inc/include/imgproc/xf_canny.hpp:216:6: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'NPC1' void Canny(xf::Mat<SRC_T, ROWS, COLS, NPC> & _src_mat,xf::Mat<DST_T, ROWS, COLS, NPC1> & _dst_mat,unsigned char _lowthreshold,unsigned char _highthreshold) ^ /home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/Accelerated_Tongue/src/xf_canny_accel.cpp:57:2: error: no matching function for call to 'EdgeTracing' xf::EdgeTracing<XF_2UC1,XF_8UC1,HEIGHT, WIDTH, XF_NPPC32,XF_NPPC8,XF_USE_URAM>(_dst1,_dst2); ^~~~~~~~~~~~~~~~~~ /home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/sw/linux/linux/inc/include/imgproc/xf_edge_tracing.hpp:365:6: note: candidate template ignored: invalid explicitly-specified argument for template parameter 'NPC_DST' void EdgeTracing(xf::Mat<SRC_T, ROWS, COLS, NPC_SRC> & _src,xf::Mat<DST_T, ROWS, COLS, NPC_DST> & _dst) ^ ERROR: [SdsCompiler 83-5005] clang exited with non-zero code processing /home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/Accelerated_Tongue/src/xf_canny_accel.cpp sds++ log file saved as /home/aranbarr/Documents/Algoritmos/0001OAccelerated/reVISION-Zybo-Z7-20-2017.4-3/zybo_z7_20/Accelerated_Tongue/Debug/_sds/reports/sds_xf_canny_accel.log ERROR: [SdsCompiler 83-5004] Build failed

src/subdir.mk:27: recipe for target 'src/xf_canny_accel.o' failed make: *** [src/xf_canny_accel.o] Error 1

08:37:49 Build Finished (took 14s.755ms)

bgouthamb commented 5 years ago

@estibalitz From the log, it appears that you are using the 2018.3 version of xfOpenCV functions with the 2017.4 platform, in 2017.4 SDSoC. You need to use the same version of the tool, platform and the code base for your build. Also, it is recommended to create a new project every time you build a new function.