Ask Your Question

xzp777's profile - activity

2015-12-02 05:17:41 -0600 asked a question cuda7.5+cmake-gui+opencv3.0, wired errors with tbb

I met some problems in building opencv3.0 with cuda7.5 ( gpu GeForce 940M ) in ubuntu14.04.

Firstly, I tried opencv2.4.9 with cuda7.5 in ubuntu14.04 with cmake-gui, and replaced one header file, NV**.h (sorry, I forgot), and finally it succeeded!

However, I tried opencv3.0 with the same configuration, it failed in wired errors about tbb.....

In addition, I have chosen the "WITH_TBB" and "BUILD_TBB", and downloaded the file successfully, so theoretically, it wouldn't break out errors, but it did......


HERE IS THE COPY OF THE ERRORS

Scanning dependencies of target opencv_traincascade
[ 81%] Building CXX object apps/traincascade/CMakeFiles/opencv_traincascade.dir/lbpfeatures.cpp.o
[ 81%] Building CXX object apps/traincascade/CMakeFiles/opencv_traincascade.dir/HOGfeatures.cpp.o
[ 81%] Building CXX object apps/traincascade/CMakeFiles/opencv_traincascade.dir/old_ml_tree.cpp.o
[ 81%] Building CXX object apps/traincascade/CMakeFiles/opencv_traincascade.dir/old_ml_data.cpp.o
[ 81%] Building CXX object apps/traincascade/CMakeFiles/opencv_traincascade.dir/cascadeclassifier.cpp.o
[ 81%] Building CXX object apps/traincascade/CMakeFiles/opencv_traincascade.dir/old_ml_boost.cpp.o
[ 82%] Building CXX object apps/traincascade/CMakeFiles/opencv_traincascade.dir/old_ml_inner_functions.cpp.o
[ 82%] Building CXX object apps/traincascade/CMakeFiles/opencv_traincascade.dir/features.cpp.o
[ 82%] Building CXX object apps/traincascade/CMakeFiles/opencv_traincascade.dir/traincascade.cpp.o
[ 82%] Building CXX object apps/traincascade/CMakeFiles/opencv_traincascade.dir/boost.cpp.o
[ 82%] Building CXX object apps/traincascade/CMakeFiles/opencv_traincascade.dir/haarfeatures.cpp.o
[ 82%] Building CXX object apps/traincascade/CMakeFiles/opencv_traincascade.dir/imagestorage.cpp.o
Linking CXX executable ../../bin/opencv_traincascade
CMakeFiles/opencv_traincascade.dir/old_ml_tree.cpp.o: In function `CvDTree::find_best_split(CvDTreeNode*)':
old_ml_tree.cpp:(.text+0x69fd): undefined reference to `tbb::task_group_context::init()'
old_ml_tree.cpp:(.text+0x6a0e): undefined reference to `tbb::internal::allocate_root_with_context_proxy::allocate(unsigned long) const'
old_ml_tree.cpp:(.text+0x6a41): undefined reference to `tbb::internal::get_initial_auto_partitioner_divisor()'
old_ml_tree.cpp:(.text+0x6a69): undefined reference to `tbb::task_group_context::~task_group_context()'
old_ml_tree.cpp:(.text+0x6ae3): undefined reference to `tbb::task_group_context::~task_group_context()'
old_ml_tree.cpp:(.text+0x6af5): undefined reference to `vtable for tbb::task'
old_ml_tree.cpp:(.text+0x6b00): undefined reference to `tbb::internal::allocate_root_with_context_proxy::free(tbb::task&) const'
CMakeFiles/opencv_traincascade.dir/old_ml_tree.cpp.o: In function `tbb::interface6::internal::start_reduce<tbb::blocked_range<int>, cv::DTreeBestSplitFinder, tbb::auto_partitioner const>::~start_reduce()':
old_ml_tree.cpp:(.text._ZN3tbb10interface68internal12start_reduceINS_13blocked_rangeIiEEN2cv20DTreeBestSplitFinderEKNS_16auto_partitionerEED2Ev[_ZN3tbb10interface68internal12start_reduceINS_13blocked_rangeIiEEN2cv20DTreeBestSplitFinderEKNS_16auto_partitionerEED5Ev]+0x3): undefined reference to `vtable for tbb::task'
CMakeFiles/opencv_traincascade.dir/old_ml_tree.cpp.o: In function `tbb::interface6::internal::flag_task::~flag_task()':
old_ml_tree.cpp:(.text._ZN3tbb10interface68internal9flag_taskD2Ev[_ZN3tbb10interface68internal9flag_taskD5Ev]+0x3): undefined reference to `vtable for tbb::task'
CMakeFiles/opencv_traincascade.dir/old_ml_tree.cpp.o: In function `tbb::interface6::internal::finish_reduce<cv::DTreeBestSplitFinder>::~finish_reduce()':
old_ml_tree.cpp:(.text._ZN3tbb10interface68internal13finish_reduceIN2cv20DTreeBestSplitFinderEED2Ev[_ZN3tbb10interface68internal13finish_reduceIN2cv20DTreeBestSplitFinderEED5Ev]+0x3): undefined reference to `vtable for tbb::task'
CMakeFiles/opencv_traincascade.dir/old_ml_tree.cpp.o: In function `tbb::interface6::internal::signal_task::~signal_task()':
old_ml_tree.cpp:(.text._ZN3tbb10interface68internal11signal_taskD2Ev[_ZN3tbb10interface68internal11signal_taskD5Ev]+0x3): undefined reference to `vtable for tbb::task'
CMakeFiles/opencv_traincascade.dir/old_ml_tree.cpp.o: In function `tbb::interface6::internal::start_reduce<tbb::blocked_range<int>, cv::DTreeBestSplitFinder, tbb::auto_partitioner const>::~start_reduce()':
old_ml_tree.cpp:(.text._ZN3tbb10interface68internal12start_reduceINS_13blocked_rangeIiEEN2cv20DTreeBestSplitFinderEKNS_16auto_partitionerEED0Ev[_ZN3tbb10interface68internal12start_reduceINS_13blocked_rangeIiEEN2cv20DTreeBestSplitFinderEKNS_16auto_partitionerEED0Ev]+0x3): undefined reference to `vtable for tbb::task'
CMakeFiles/opencv_traincascade.dir/old_ml_tree.cpp.o:old_ml_tree.cpp:(.text._ZN3tbb10interface68internal9flag_taskD0Ev[_ZN3tbb10interface68internal9flag_taskD0Ev]+0x3): more undefined references ...
(more)
2015-10-24 10:51:55 -0600 answered a question remap: how to find the (x,y) in dst given (u,v) in src?

well, I finally solved it through the model given in the opencv document. I just transform the input point (u,v) in src image as the projection model and get the corresponding point (x,y) in the dst image. However, I assume the distortion to be zero vector and this may be not general. Anyhow, it works when the distortion is regarded as zero vector.

2015-10-21 19:33:05 -0600 answered a question libpng issues ?

maybe a simple way is to uninstall opencv and libpng, then install opencv again

2015-10-21 05:42:45 -0600 asked a question remap: how to find the (x,y) in dst given (u,v) in src?

remap function can give you the point (u,v) in the src image when you have point (x,y) in dst image through the map1 and map2 mapping function. I do not know if I have the input (u,v) in the src image, how can I get the corresponding point (x,y) in the dst image??