Having OpenCV3 with cuda onJetson TK1

Hi,

I’ve aksed a question to a previous post[url]https://devtalk.nvidia.com/default/topic/808435/?comment=4447780#[/url], but it seems to be off from a while so I decided to define it as a new post :

I’m new to this Forum and installed latest Jetpack with libs on TK1, as opencv2.Anyway ,currently all projects, books and sources are based on openCV3.

  • Is the answer “openCV3 for tegra not available” (from kayccc) still true?
  • if yes : if I use the solution “installing & compile OpenCV with Cuda on Tegra from source” (from cn04) aside the current opencv4tegra (opencv2) installation = could they live together or the last installation from source would overwrite it?

I propose these 2 points but maybe there is a better way to have OpenCV3 for Tegra

Hi dlewin,

[Q]- Is the answer “openCV3 for tegra not available” (from kayccc) still true?
Ans: Yes, there is no plan to move on OpenCV3 for Tk1 yet.

[Q]- if yes : if I use the solution “installing & compile OpenCV with Cuda on Tegra from source” (from cn04) aside the current opencv4tegra (opencv2) installation = could they live together or the last installation from source would overwrite it?

Ans: while installing the OpenCV3, you can decide and assign the new path to a proper location to avoid the overwrite on existing OpenCV4Tegra. And, please be sure to include the right header file by abstract path to distinguish which OpenCV3 or OpenCV4Tegra to be called.

Thanks

Hi kayccc,

Thank you for your answer.

However, if I rely on the Option 2) Building the public OpenCV library from source

from the installion link http://elinux.org/Jetson/Installing_OpenCVI won’t use the TK1 as it is right ? ie: GPU and all optimisations.

Therefore, if I understand it well : at the end there is no possibility to have openCV3 using the GPUs, Cuda etc which is the added value to this board when you do face recognition.

What do you mean please ?

Besides there is a problem.
I have successfully built it and defined with :

LD_LIBRARY_PATH=/usr/local/cuda-6.5/lib:/usr/local/lib

but however :

  1. I have to precise the Library path g++ .... -L/usr/local/lib
  2. if I compile the GPU accelerated OpenCV sample which is houghlines.cpp I have :
/usr/bin/ld: /tmp/ccaHJX43.o: undefined reference to symbol '_ZN2cv6imreadERKNS_6StringEi'
/usr/local/lib/libopencv_imgcodecs.so.3.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

Hello, dlewin
You can build opencv-3 samples by add -DBUILD_SAMPLES=on in cmake command.

br
Chenjian

Hi Chnjian,
Indeed this is what I set in the ccmake interface Example = on. Therefore, maybe I think I should remove it then. I wonder anyway what consequence are for the python part as I intend to use it with Cuda+OpenCV

Hello, dlewin:
From the error log you pasted @ #4, it seems that something wrong with /usr/local/lib/libopencv_imgcodecs.so.3.0.

I’m not sure why that happened. Maybe you can check that file first.

I tried openCV-3.1.0 in my side, and GPU houghlines.cpp can be compiled and run correctly.

br
Chenjian

Thanks jachen. The file is there, not the symbolic link.