Code Monkey home page Code Monkey logo

opendtam's Introduction

OpenDTAM

An open source implementation of DTAM On Ubuntu, you need the qtbase5-dev and libopencv-dev packages This project is no longer currently active, but I will try to provide suggestions as possible. I would love to get back to it, but my life is currently quite busy.

Build Instructions On Ubuntu 12.04 LTS

For building OpenDTAM, here is a brief instruction on Ubuntu 12.04 LTS.

Install dependencies

qtbase5-dev

sudo apt-add-repository ppa:ubuntu-sdk-team/ppa
sudo apt-get update
sudo apt-get install qtbase5-dev

libopencv-dev

sudo apt-get install libopencv-dev

boost

sudo apt-get install libboost1.48-all-dev

Build OpenDTAM

cd OpenDTAM/Cpp
mkdir Build
cd Build
cmake ..
make

Run OpenDTAM

./a.out

Trouble Shooting

Running "pkg-config --modversion opencv" will tell you what version you have. Hopefully it is close to 2.4.9 which is what commit a5f91d0cd58c3353ef56a3694648375f1c053082 was built for.

You may have problems with the versions of the dependencies, if so you may be able to resolve them by installing the required ones according to the messages output by cmake.

The Trajectory_30_seconds directory may reside in different path in your system, you can modify them in testprog.cpp before running make.

Or if none of this works compile a version of OpenCV from source on your machine.
Then send me an email with the output of cmake (something like " -- Detected version of GNU GCC: 46 (406) .......")
and also the output of
"cmake -L"
and I can tell you what you need to do.

opendtam's People

Contributors

anuranbaka avatar hustcalm avatar mihaibujanca avatar vrabaud avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

opendtam's Issues

updating theta

Hi, all.

I'd like to know about optimization algorithm.
In DTAM paper, the following equation are used.

[1] theta^(n+1) = theta^(n) * (1 - beta * n)

But in OpenDTAM another equations are used.

[2] theta^(n+1) = theta^(n) * thetaStep

Why don't you follow original paper?
Is our method better than original one?

And does this difference affects final depth map quality(that is, do both methods make same results after convergence?)


Here is my simulation result.
I simulated Eq.[1] with two patterns(beta = 0.001, 0.0001) until n = 1000.
I think finally both behaviors looks same, but when optimization starts, these behaviors are different.
I think you implemented Eq.[2] to achieve faster convergence.
2015-11-02 21 11 32

OpenCV Error: Gpu API call (invalid device function)

Hi Paul,

Thanks for the software!
I have been attempting to try your code out, but unfortunately I can't get it to start properly, and am seeking your help.
I am using Ubuntu 12.04.05, CUDA 5.5, GTX960, OpenCV 2.4.9, NVidia driver 352.21.
The program stalls after reading scene 49 and dies with the following message with the backport version:

text_file_name = /home/stevenlee/OpenDTAM/Trajectory_30_seconds/scene_048.txt
Reading: scene_048.png
text_file_name = /home/stevenlee/OpenDTAM/Trajectory_30_seconds/scene_049.txt
Reading: scene_049.png
using: 1
OpenCV Error: Gpu API call (invalid device function ) in globalWeightedBoundsCostCaller, file /home/stevenlee/OpenDTAM/Cpp/CostVolume/CostVolume.cu, line 25
terminate called after throwing an instance of 'cv::Exception'
what(): /home/stevenlee/OpenDTAM/Cpp/CostVolume/CostVolume.cu:25: error: (-217) invalid device function in function globalWeightedBoundsCostCaller

the line is:
cudaSafeCall( cudaGetLastError() );
and in the experimental version I get the same error at line 209, which is the same command as above.

For the backport, I changed CMakeLists.txt at line 52 to include opencv_gpu instead of opencv_cudastereo and opencv_cudaimgproc because I had issues.
I tried with arch and code in the line 50 as 30 and as 35, but still get the same errors.

Please let me know if there is any further information I can provide.
Thank you!

Steven

about real-time camera input

Hi, Paul and all other contributors,

Thank you so much for giving so great efforts to implement the DTAM algorithm. And I think this is an important step for letting more computer vision communities access to the dense reconstruction domain.
As I had initially installed and practiced the OpenDTAM code, I hope that you can answer me some questions:
In your preliminary code, it uses the dataset (traj_30_seconds) to give some demos. How about using a live camera input? It’ll be a very practical scenario. And I am trying to write that interface. But I’m not so familiar with the architecture of your OpenDTAM, would you suggest me which part I should first work on and something worth noting?

Best regards,
Milton

Thread Requested: Graphics

Hi
After running ./a.out

It encountered:
Thread Requested: Graphics : Thread Start: 0x7fea02fe77000xb1cb50:0xb1cb50

Loading
Segmentation fault (core dumped)

Could anyone provide some suggestions? Thanks a lot in advance!:-D

A problem when I run the code

Hi, anuranbaka

I finally can successfully make the whole stuff. However, when I run "./a.out", there is a problem happened as following, here is the result:

[100%] Built target a.out
jiayi@jiayi-XPS-L521X:~/Downloads/OpenDTAM/Cpp/Build$ ./a.out
Thread Requested: Graphics : Thread Start: 0x7f9512c017000x24ccf50:0x24ccf50

Loading
text_file_name = /home/jiayi/Downloads/OpenDTAM/Trajectory_30_seconds/scene_000.txt
Reading: scene_000.png
text_file_name = /home/jiayi/Downloads/OpenDTAM/Trajectory_30_seconds/scene_001.txt
Reading: scene_001.png
text_file_name = /home/jiayi/Downloads/OpenDTAM/Trajectory_30_seconds/scene_002.txt
Reading: scene_002.png
text_file_name = /home/jiayi/Downloads/OpenDTAM/Trajectory_30_seconds/scene_003.txt
Reading: scene_003.png
(...)
text_file_name = /home/jiayi/Downloads/OpenDTAM/Trajectory_30_seconds/scene_047.txt
Reading: scene_047.png
text_file_name = /home/jiayi/Downloads/OpenDTAM/Trajectory_30_seconds/scene_048.txt
Reading: scene_048.png
text_file_name = /home/jiayi/Downloads/OpenDTAM/Trajectory_30_seconds/scene_049.txt
Reading: scene_049.png
using: 1
using: 2
(...)
using: 46
using: 47
using: 48
using: 49
using: 50
OpenCV Error: Assertion failed (src1.type() == src2.type()) in scaleAdd, file /home/jiayi/Downloads/opencv-2.4.9/modules/core/src/matmul.cpp, line 2072
terminate called after throwing an instance of 'cv::Exception'
what(): /home/jiayi/Downloads/opencv-2.4.9/modules/core/src/matmul.cpp:2072: error: (-215) src1.type() == src2.type() in function scaleAdd

Aborted (core dumped)

I have no idea how to fix it? Do you have any suggestion?

Consolidate branches/development versions

There are too many branches and dev versions to keep track of.

Fixes are getting lost. Merging across the OpenCV 3<-->2 barrier introduces issues.

Need to consolidate to one stable demo version and one experimental.
Need a single switch to flip between using the OpenCV fork and internal version of optimizer.
Need to make readme shared across branches somehow.

dtam is producing poor reconstruction on ptam poses

Hi Paul,

I have been trying to integrate dtam with live ptam frames. I have used 2.4.9 experimental branch. I am noticing that dtam is producing poor reconstruction. The reconstruction is quite smooth , but depths are not correct. I apply opencv stereoBM or SGBM on same ptam keyframes , with same poses , I get much better depth maps and reconstruction. I have tried 32 and 64 depth layers , with 30 image per cost volume. I had set near and far values from distance of sparse points of ptam from camera.

I can upload the running code with dataset , if you want to have a look at it.

Difference between experimental and backport APIs

Hi,

Thanks for the contribution!

It would be great if you (or anybody in the community) could provide a summary of the major differences between the APIs in the 2 branches. For instance some of the commits in the experimental branch have been marked as unstable and while backport looks much cleaner, no one's touched it for an year. Also do you have a version that does both tracking and mapping? Since testprog does not use Tracking its hard to know the status on the Tracking part.

I also have a blog post on DTAM which might be of interest to this community:
http://ahumaninmachinesworld.blogspot.com/2015/07/dtam-dense-tracking-and-mapping.html

Thanks,
Tanmay

Compile successfully, runtime error

I compile OpenDTAM-2.4.9_experimental successfully, but when I run the program, nothing happened.

$ sudo ./a.out 
 Thread Requested:  Thread Start: Graphics : 0x7fca3599f7000x216f710:0x216f710

Loading
$ echo $?
139

My system version is Ubuntu 14.04.3, with OpenCV 2.4.11, Nvidia graphics driver: 340.93.

OpenCV 3.0.0 and enqueueMemSet

Hello, I have attempted to upgrade OpenDTAM to OpenCV 3.0.0. Please see the following branch for relevant code:

https://github.com/alexanderkoumis/OpenDTAM

I have made the modifications necessary in order for it to run. However, It will run through maybe one set, freeze after the CostVolume destructor, and restart, not showing good depth images in the preview windows (I have run the system on 2.4 and seen the correct behavior). I believe it has something to do with taking out "enqueueMemSet" from the CostVolume constructor on lines 88 and 80 here:

//    cvStream.enqueueMemSet(loInd,0.0);
//    cvStream.enqueueMemSet(dataContainer,initialCost);

Not too familiar with the new OpenCV CUDA API so I am not sure if this is the faulty area. Any thoughts?

Thanks,
Alexander

ubuntu 14.04 + cuda 7.5 +opencv 2.4.9

...

Reading: scene_044.png
text_file_name = /home/anson/Downloads/OpenDTAM-2.4.9_experimental/Trajectory_30_seconds/scene_045.txt
Reading: scene_045.png
text_file_name = /home/anson/Downloads/OpenDTAM-2.4.9_experimental/Trajectory_30_seconds/scene_046.txt
Reading: scene_046.png
text_file_name = /home/anson/Downloads/OpenDTAM-2.4.9_experimental/Trajectory_30_seconds/scene_047.txt
Reading: scene_047.png
text_file_name = /home/anson/Downloads/OpenDTAM-2.4.9_experimental/Trajectory_30_seconds/scene_048.txt
Reading: scene_048.png
text_file_name = /home/anson/Downloads/OpenDTAM-2.4.9_experimental/Trajectory_30_seconds/scene_049.txt
Reading: scene_049.png
OpenCV Error: Gpu API call (invalid device function) in call, file /home/anson/Downloads/opencv-2.4.10/modules/gpu/include/opencv2/gpu/device/detail/transform_detail.hpp, line 320
terminate called after throwing an instance of 'cv::Exception'
what(): /home/anson/Downloads/opencv-2.4.10/modules/gpu/include/opencv2/gpu/device/detail/transform_detail.hpp:320: error: (-217) invalid device function in function call

Aborted (core dumped)

Hi,
How to solve this problem? I use ldd a.out and the results like:

libopencv_imgproc.so.2.4 => /usr/local/lib/libopencv_imgproc.so.2.4 (0x00007f0b9c004000)
libopencv_highgui.so.2.4 => /usr/local/lib/libopencv_highgui.so.2.4 (0x00007f0b9bd6c000)
libopencv_gpu.so.2.4 => /usr/local/lib/libopencv_gpu.so.2.4 (0x00007f0b93c3d000)
libopencv_core.so.2.4 => /usr/local/lib/libopencv_core.so.2.4 (0x00007f0b936a1000)
libopencv_calib3d.so.2.4 => /usr/local/lib/libopencv_calib3d.so.2.4 (0x00007f0b93401000)

backport branch is producing incorrect depthmap

Hi ,

I am running testprog on provided dataset with repo , and I am noticing that the optimizer is not working at all. With cpu version , I used to get very smooth depth map , but the gpu version is producing very incorrect result. Can you please help me fix it.
result

Gstreamer

There may be a gstreamer dependency. Investigate.

endless loop?

 Thread Start:  Thread Requested: Graphics : 0x12540e0140231445198592:0x12540e0

Loading
text_file_name = /home/lz/OpenDTAM/pic/scene_000.txt
Reading: scene_000.png
text_file_name = /home/lz/OpenDTAM/pic/scene_001.txt
Reading: scene_001.png
text_file_name = /home/lz/OpenDTAM/pic/scene_002.txt
Reading: scene_002.png
text_file_name = /home/lz/OpenDTAM/pic/scene_003.txt
Reading: scene_003.png
text_file_name = /home/lz/OpenDTAM/pic/scene_004.txt
Reading: scene_004.png
text_file_name = /home/lz/OpenDTAM/pic/scene_005.txt
Reading: scene_005.png
text_file_name = /home/lz/OpenDTAM/pic/scene_006.txt
Reading: scene_006.png
text_file_name = /home/lz/OpenDTAM/pic/scene_007.txt
Reading: scene_007.png
text_file_name = /home/lz/OpenDTAM/pic/scene_008.txt
Reading: scene_008.png
text_file_name = /home/lz/OpenDTAM/pic/scene_009.txt
Reading: scene_009.png
text_file_name = /home/lz/OpenDTAM/pic/scene_010.txt
Reading: scene_010.png
text_file_name = /home/lz/OpenDTAM/pic/scene_011.txt
Reading: scene_011.png
text_file_name = /home/lz/OpenDTAM/pic/scene_012.txt
Reading: scene_012.png
text_file_name = /home/lz/OpenDTAM/pic/scene_013.txt
Reading: scene_013.png
text_file_name = /home/lz/OpenDTAM/pic/scene_014.txt
Reading: scene_014.png
text_file_name = /home/lz/OpenDTAM/pic/scene_015.txt
Reading: scene_015.png
text_file_name = /home/lz/OpenDTAM/pic/scene_016.txt
Reading: scene_016.png
text_file_name = /home/lz/OpenDTAM/pic/scene_017.txt
Reading: scene_017.png
text_file_name = /home/lz/OpenDTAM/pic/scene_018.txt
Reading: scene_018.png
text_file_name = /home/lz/OpenDTAM/pic/scene_019.txt
Reading: scene_019.png
text_file_name = /home/lz/OpenDTAM/pic/scene_020.txt
Reading: scene_020.png
text_file_name = /home/lz/OpenDTAM/pic/scene_021.txt
Reading: scene_021.png
text_file_name = /home/lz/OpenDTAM/pic/scene_022.txt
Reading: scene_022.png
text_file_name = /home/lz/OpenDTAM/pic/scene_023.txt
Reading: scene_023.png
text_file_name = /home/lz/OpenDTAM/pic/scene_024.txt
Reading: scene_024.png
text_file_name = /home/lz/OpenDTAM/pic/scene_025.txt
Reading: scene_025.png
text_file_name = /home/lz/OpenDTAM/pic/scene_026.txt
Reading: scene_026.png
text_file_name = /home/lz/OpenDTAM/pic/scene_027.txt
Reading: scene_027.png
text_file_name = /home/lz/OpenDTAM/pic/scene_028.txt
Reading: scene_028.png
text_file_name = /home/lz/OpenDTAM/pic/scene_029.txt
Reading: scene_029.png
text_file_name = /home/lz/OpenDTAM/pic/scene_030.txt
Reading: scene_030.png
text_file_name = /home/lz/OpenDTAM/pic/scene_031.txt
Reading: scene_031.png
text_file_name = /home/lz/OpenDTAM/pic/scene_032.txt
Reading: scene_032.png
text_file_name = /home/lz/OpenDTAM/pic/scene_033.txt
Reading: scene_033.png
text_file_name = /home/lz/OpenDTAM/pic/scene_034.txt
Reading: scene_034.png
text_file_name = /home/lz/OpenDTAM/pic/scene_035.txt
Reading: scene_035.png
text_file_name = /home/lz/OpenDTAM/pic/scene_036.txt
Reading: scene_036.png
text_file_name = /home/lz/OpenDTAM/pic/scene_037.txt
Reading: scene_037.png
text_file_name = /home/lz/OpenDTAM/pic/scene_038.txt
Reading: scene_038.png
text_file_name = /home/lz/OpenDTAM/pic/scene_039.txt
Reading: scene_039.png
text_file_name = /home/lz/OpenDTAM/pic/scene_040.txt
Reading: scene_040.png
text_file_name = /home/lz/OpenDTAM/pic/scene_041.txt
Reading: scene_041.png
text_file_name = /home/lz/OpenDTAM/pic/scene_042.txt
Reading: scene_042.png
text_file_name = /home/lz/OpenDTAM/pic/scene_043.txt
Reading: scene_043.png
text_file_name = /home/lz/OpenDTAM/pic/scene_044.txt
Reading: scene_044.png
text_file_name = /home/lz/OpenDTAM/pic/scene_045.txt
Reading: scene_045.png
text_file_name = /home/lz/OpenDTAM/pic/scene_046.txt
Reading: scene_046.png
text_file_name = /home/lz/OpenDTAM/pic/scene_047.txt
Reading: scene_047.png
text_file_name = /home/lz/OpenDTAM/pic/scene_048.txt
Reading: scene_048.png
text_file_name = /home/lz/OpenDTAM/pic/scene_049.txt
Reading: scene_049.png
using: 1
using: 2
using: 3
using: 4
using: 5
using: 6
using: 7
using: 8
using: 9
using: 10
using: 11
using: 12
using: 13
using: 14
using: 15
using: 16
using: 17
using: 18
using: 19
using: 20
using: 21
using: 22
using: 23
using: 24
using: 25
using: 26
using: 27
using: 28
using: 29
using: 30
using: 31
using: 32
using: 33
using: 34
using: 35
using: 36
using: 37
using: 38
using: 39
using: 40
using: 41
using: 42
using: 43
using: 44
using: 45
using: 46
using: 47
using: 48
using: 49
using: 50
CV #: 1 Total Scale: 1
using: 2
using: 3
using: 4
using: 5
using: 6
using: 7
using: 8
using: 9
using: 10
using: 11
using: 12
using: 13
using: 14
using: 15
using: 16
using: 17
using: 18
using: 19
using: 20
using: 21
using: 22
using: 23
using: 24
using: 25
using: 26
using: 27
using: 28
using: 29
using: 30
using: 31
using: 32
using: 33
using: 34
using: 35
using: 36
using: 37
using: 38
using: 39
using: 40
using: 41
using: 42
using: 43
using: 44
using: 45
using: 46
using: 47
using: 48
using: 49
using: 50
using: 51
CV #: 2 Total Scale: 1
using: 3
using: 4
using: 5
using: 6
using: 7
using: 8
using: 9
using: 10
using: 11
using: 12
using: 13
using: 14
using: 15
using: 16
using: 17
using: 18
using: 19
using: 20
using: 21
using: 22
using: 23
using: 24
using: 25
using: 26
using: 27
using: 28
using: 29
using: 30
using: 31
using: 32
using: 33
using: 34
using: 35
using: 36
using: 37
using: 38
using: 39
using: 40
using: 41
using: 42
using: 43
using: 44
using: 45
using: 46
using: 47
using: 48
using: 49
using: 50
using: 51
using: 52
CV #: 3 Total Scale: 1
using: 4
using: 5
using: 6
using: 7
using: 8
using: 9
using: 10
using: 11
using: 12
using: 13
using: 14
using: 15
using: 16
using: 17
using: 18
using: 19
using: 20
using: 21
using: 22
using: 23
using: 24
using: 25
using: 26
using: 27
using: 28
using: 29
using: 30
using: 31
using: 32
using: 33
using: 34
using: 35
using: 36
using: 37
using: 38
using: 39
using: 40
using: 41
using: 42
using: 43
using: 44
using: 45
using: 46
using: 47
using: 48
using: 49
using: 50
using: 51
using: 52
using: 53
CV #: 4 Total Scale: 1
using: 5
using: 6
using: 7
using: 8
using: 9
using: 10
using: 11
using: 12
using: 13
using: 14
using: 15
using: 16
using: 17
using: 18
using: 19
using: 20
using: 21
using: 22
using: 23
using: 24
using: 25
using: 26
using: 27
using: 28
using: 29
using: 30
using: 31
using: 32
using: 33
using: 34
using: 35
using: 36
using: 37
using: 38
using: 39
using: 40
using: 41
using: 42
using: 43
using: 44
using: 45
using: 46
using: 47
using: 48
using: 49
using: 50
using: 51
using: 52
using: 53
using: 54
CV #: 5 Total Scale: 1
using: 6
using: 7
using: 8
using: 9
using: 10
using: 11
using: 12
using: 13
using: 14
using: 15
using: 16
using: 17
using: 18
using: 19
using: 20
using: 21
using: 22
using: 23
using: 24
using: 25
using: 26
using: 27
using: 28
using: 29
using: 30
using: 31
using: 32
using: 33
using: 34
using: 35
using: 36
using: 37
using: 38
using: 39
using: 40
using: 41
using: 42
using: 43
using: 44
using: 45
using: 46
using: 47
using: 48
using: 49
using: 50
using: 51
using: 52
using: 53
using: 54
using: 55
CV #: 6 Total Scale: 1
using: 7
using: 8
using: 9
using: 10
using: 11
using: 12
using: 13
using: 14
using: 15
using: 16
using: 17
using: 18
using: 19
using: 20
using: 21
using: 22
using: 23
using: 24
using: 25
using: 26
using: 27
using: 28
using: 29
using: 30
using: 31
using: 32
using: 33
using: 34
using: 35
using: 36
using: 37
using: 38
using: 39
using: 40
using: 41
using: 42
using: 43
using: 44
using: 45
using: 46
using: 47
using: 48
using: 49
using: 50
using: 51
using: 52
using: 53
using: 54
using: 55
using: 56
CV #: 7 Total Scale: 1
using: 8
using: 9
using: 10
using: 11
using: 12
using: 13
using: 14
using: 15
using: 16
using: 17
using: 18
using: 19
using: 20
using: 21
using: 22
using: 23
using: 24
using: 25
using: 26
using: 27
using: 28
using: 29
using: 30
using: 31
using: 32
using: 33
using: 34
using: 35
using: 36
using: 37
using: 38
using: 39
using: 40
using: 41
using: 42
using: 43
using: 44
using: 45
using: 46
using: 47
using: 48
using: 49
using: 50
using: 51
using: 52
using: 53
using: 54
using: 55
using: 56
using: 57

It took a long time still no result, seems like a endless loop, what's wrong?

win10 + OpenCL version

I have rewritten dtam by visual studio 2015, based on anuranbaka's code, with opencl and opencv3.0. But the result is poor. I'd like to share my code, and wish somebody could point out the wrong parts.

myresult

I'd like to share my code, and wish somebody could point out the wrong codes. Here's my codes link:

https://github.com/411066282/dtam-opencl-implemention

Runtime error

Hi, Paul
Is there any video card requirement of this project?
I'm using a GT620 video card and get a runtime error after successfully compiling the 2.4.9_backport branch.
using cuda-gdb, I get the log as:

captured by my phone, hope clear enough

img_20150206_191017

Any idea to solve this?
Best regards
Michel

Error with opencv 2.4.9?

I build the code with 2.4.9 backport with ubuntu 14.04, opencv 2.4.9 and cuda 7.5 using the GPU GFORCE GTX TITAN X.

When building opencv I change the arch_bin to 5.2 to make it match the gpu CC.

But I met the following error when runing ./a.out
Anyone can help me understand why?

OpenCV Error: Gpu API call (invalid device function) in globalWeightedBoundsCostCaller, file /media/Workspace2/pengwang/3DRepresent/extern/OpenDTAM/Cpp/CostVolume/CostVolume.cu, line 25 terminate called after throwing an instance of 'cv::Exception' what(): /media/Workspace2/pengwang/3DRepresent/extern/OpenDTAM/Cpp/CostVolume/CostVolume.cu:25: error: (-217) invalid device function in function globalWeightedBoundsCostCaller

Some confused about RT when I run the code

Hi, anuranbaka
I have successfully run the stuff.I'm try to change the code into real-time camera input.I have seen the #12 "about real-time camera input" Issues and almost know something about DTAM. The stuff run by dataset already give the RT values.So I'm confused about that how do you get the RT values?Is it mean that you find RT values by the usual OpenCV convention: point_in_pixels=cameraMatrix[R|T]point_in_world_coordinates?Do you mean the function solvePNP?Thank you very much if you can help me.

Does OpenCV 2.4.9 has opencv_cudaimgproc & opencv_cudastereo?

Hi,

Thank you very much for your great work!

However, the documentation is not clear enough for me to get OpenDTAM running on my box though I succeeded buliding the CPU version about 2 months ago on Ubuntu 12.04 LTS.

Now I try to build the current version with GPU support, getting lots of errors, regarding:

  •  Cpp/CostVolume/optimizer.part.cpp:434:13: error: ‘usleep’ was not declared in this scope
    
  • Cpp/CostVolume/CostVolume.cpp:287:18: error: ‘struct cv::Ptr’ has no member named ‘addref’

I'm really confusing that which OpenCV version should I use, for easy compile, which OpenDTAM branch should I use. As the CMakeLists.txt says, target_link_libraries(OpenDTAM opencv_cudaimgproc opencv_cudastereo), it seems that we have to use OpenCV 3.0 since OpenCV 2.4.9 or lower versions don't have opencv_cudaimgproc and opencv_cudastereo.

Now, I'm using Ubuntu 14.04 LTS with CUDA 5.5 installed, my cmake output:

-- The C compiler identification is GNU 4.8.2
-- The CXX compiler identification is GNU 4.8.2
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Found CUDA: /usr (found suitable exact version "5.5")
-- Found CUDA: /usr (found version "5.5")
-- Boost version: 1.54.0
-- Found the following Boost libraries:
-- system
-- thread
-- Configuring done
-- Generating done

and cmake -L says:
-- Found CUDA: /usr (found suitable exact version "5.5")
-- Found CUDA: /usr (found version "5.5")
-- Boost version: 1.54.0
-- Found the following Boost libraries:
-- system
-- thread
-- Configuring done
-- Generating done
-- Cache values
BOOST_THREAD_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libpthread.so
CMAKE_BUILD_TYPE:STRING=
CMAKE_INSTALL_PREFIX:PATH=/usr/local
CUDA_BUILD_CUBIN:BOOL=OFF
CUDA_BUILD_EMULATION:BOOL=OFF
CUDA_HOST_COMPILER:FILEPATH=/usr/bin/cc
CUDA_SDK_ROOT_DIR:PATH=CUDA_SDK_ROOT_DIR-NOTFOUND
CUDA_SEPARABLE_COMPILATION:BOOL=OFF
CUDA_TOOLKIT_ROOT_DIR:PATH=/usr
CUDA_VERBOSE_BUILD:BOOL=OFF
OpenCV_DIR:PATH=/usr/local/share/OpenCV
Qt5Core_DIR:PATH=/usr/lib/x86_64-linux-gnu/cmake/Qt5Core

Would you please make it more clear about how to get OpenDTAM build and running, as the dependencies are complicated.

Thanks in advance.

Regards,
LL

An runtime error: OpenCV Error: Assertion failed (src1.type() == src2.type())

The problem occurred when run ./a.out. Specifically, it shows as following. As shown in the Issue#52, this may happens because the images are an unexpected data type. It may be due to a switch between 16 and 8 bit inputs. But I don't know how to solve that problem?

I use Opencv2.4.13, CUDA 8.0, Ubuntu 14.04 LTS and GTX 740M.

hw@hw:~/OpenDTAM/Cpp/Build$ ./a.out
Thread Start: 0x1d52250 Thread Requested:
Graphics : 140355115820800:0x1d52250
Loading
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_000.txt
Reading: scene_000.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_001.txt
Reading: scene_001.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_002.txt
Reading: scene_002.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_003.txt
Reading: scene_003.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_004.txt
Reading: scene_004.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_005.txt
Reading: scene_005.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_006.txt
Reading: scene_006.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_007.txt
Reading: scene_007.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_008.txt
Reading: scene_008.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_009.txt
Reading: scene_009.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_010.txt
Reading: scene_010.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_011.txt
Reading: scene_011.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_012.txt
Reading: scene_012.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_013.txt
Reading: scene_013.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_014.txt
Reading: scene_014.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_015.txt
Reading: scene_015.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_016.txt
Reading: scene_016.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_017.txt
Reading: scene_017.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_018.txt
Reading: scene_018.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_019.txt
Reading: scene_019.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_020.txt
Reading: scene_020.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_021.txt
Reading: scene_021.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_022.txt
Reading: scene_022.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_023.txt
Reading: scene_023.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_024.txt
Reading: scene_024.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_025.txt
Reading: scene_025.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_026.txt
Reading: scene_026.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_027.txt
Reading: scene_027.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_028.txt
Reading: scene_028.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_029.txt
Reading: scene_029.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_030.txt
Reading: scene_030.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_031.txt
Reading: scene_031.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_032.txt
Reading: scene_032.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_033.txt
Reading: scene_033.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_034.txt
Reading: scene_034.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_035.txt
Reading: scene_035.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_036.txt
Reading: scene_036.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_037.txt
Reading: scene_037.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_038.txt
Reading: scene_038.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_039.txt
Reading: scene_039.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_040.txt
Reading: scene_040.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_041.txt
Reading: scene_041.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_042.txt
Reading: scene_042.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_043.txt
Reading: scene_043.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_044.txt
Reading: scene_044.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_045.txt
Reading: scene_045.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_046.txt
Reading: scene_046.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_047.txt
Reading: scene_047.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_048.txt
Reading: scene_048.png
text_file_name = /home/hw/OpenDTAM/Trajectory_30_seconds/scene_049.txt
Reading: scene_049.png
using: 1
using: 2
using: 3
using: 4
using: 5
using: 6
using: 7
using: 8
using: 9
using: 10
using: 11
using: 12
using: 13
using: 14
using: 15
using: 16
using: 17
using: 18
using: 19
using: 20
using: 21
using: 22
using: 23
using: 24
using: 25
using: 26
using: 27
using: 28
using: 29
using: 30
using: 31
using: 32
using: 33
using: 34
using: 35
using: 36
using: 37
using: 38
using: 39
using: 40
using: 41
using: 42
using: 43
using: 44
using: 45
using: 46
using: 47
using: 48
using: 49
using: 50
OpenCV Error: Assertion failed (src1.type() == src2.type()) in scaleAdd, file /home/hw/opencv-2.4.13/modules/core/src/matmul.cpp, line 2079
terminate called after throwing an instance of 'cv::Exception'
what(): /home/hw/opencv-2.4.13/modules/core/src/matmul.cpp:2079: error: (-215) src1.type() == src2.type() in function scaleAdd

Aborted (core dumped)

System Recommendations

From @hustcalm:
...
What devices do you get on hand for development now?
Like the PC, Operating System version(Ubuntu 12.04 or Windows,, whatever), Graphics Card(Nvidia GTX series or others) and the camera( I use Logitech pro9000).

I'm considering to buy a Graphics Card, hesitating to buy which GTX as I'm not sure whether the card can empower the DTAM system? Any suggestions, thanks!

segmentation fault error

After executing a.out, I have an error message.

Thread Start: Thread Requested: Graphics : 0x7f770bfff700:0xece0a00xece0a0

Loading
Segmentation fault (core dumped)

Is there anyone who know how to solve it?

about reprojection

Hi, Paul and all other contributors,

Thank you very much for giving great efforts to implement the DTAM algorithm.
In DTAM paper, they reproject each pixel in keyframe to current frame for updating cost volume. OpenDTAM doesn't follow this idea.
OpenDTAM reprojects current frame to keyframe in in Cpp/CostVolume/utils/reproject.cpp using cv::warpPerspective().

Why do we reproject current frame to keyframe?
Is our method more accurate or faster?

Thanks.

How to produce point cloud using DTAM?

Hi ,
Because I want to use DTAM to conduct 3D reconstruction, I need point cloud results. Actually, I only got depth map. How can I obtain point cloud (x,y,z) for every point?
I have changed the parameters value like #8 .
thetaStart = 0.6 * layers
thetaEnd = 0.03 * layers
thetaStep = 0.99
epsilon = 0.003 * layers
lambda = 0.3 / layers
And when I do the following step, it got wrong.
ray = ( K * R ).inv() * T;
P=1/(optimizer.depthMap())*ray + cameraCenter;

It is wrong because ray is a array 3*1, while (1/optimizer.depthMap()) is the depth of whole image. It cannot directly multiple. And I do not know what cameraCenter is in your example "testprog.cpp"?
Can you give me more detail information about how to code this part?
Thank you for your answer!
Xiaoshui

Backport needs scheduler

The scheduler is not compatible with the split-in-half form of the optimizer which was created for the pull request. Fix the scheduler or optimizer.

errata

sudo apt-get install qt5base-dev
shoud be
sudo apt-get install qtbase5-dev

Can't use gpu::resize function?

Hi, everyone:
I want to calculate the dense optical flow on gpu by opencv, the details as following.
But I got some errors that I can't find the solution. Can anyone help me?
Thanks a lot!

The information for my system

  • OpenCV version: 2.4.11
  • Host OS: Linux (Ubuntu 14.04)
  • Compiler & CMake: gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4 & cmake version 2.8.12.2

In which part of the OpenCV library you got the issue?

  • resizing an image

Expected behaviour

I want to calculate the dense optical flow on gpu by opencv.

Actual behaviour

OpenCV Error: Gpu API call (invalid device function) in call_resize_linear_glob, file /usr/local/tools/tempfiles/opencv-2.4.11/modules/gpu/src/cuda/resize.cu, line 233
terminate called after throwing an instance of 'cv::Exception'
what(): /usr/local/tools/tempfiles/opencv-2.4.11/modules/gpu/src/cuda/resize.cu:233: error: (-217) invalid device function in function call_resize_linear_glob

Code example to reproduce the issue / Steps to reproduce the issue

compile command:
sudo g++ -o gpuOpticalFlowTest gpuOpticalFlowTest.cpp -lopencv_video -lopencv_core -lopencv_imgproc -lopencv_objdetect -lopencv_highgui -lopencv_gpu
#include <stdio.h>
#include <iostream>

#include "opencv2/opencv.hpp"
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/video/background_segm.hpp"
#include "opencv2/gpu/gpu.hpp"

#ifdef _DEBUG        
#pragma comment(lib, "opencv_core247d.lib")
#pragma comment(lib, "opencv_imgproc247d.lib")   //MAT processing
#pragma comment(lib, "opencv_objdetect247d.lib") //HOGDescriptor
#pragma comment(lib, "opencv_gpu247d.lib")
//#pragma comment(lib, "opencv_features2d247d.lib")
#pragma comment(lib, "opencv_highgui247d.lib")
#pragma comment(lib, "opencv_ml247d.lib")
//#pragma comment(lib, "opencv_stitching247d.lib");
//#pragma comment(lib, "opencv_nonfree247d.lib");
#pragma comment(lib, "opencv_video247d.lib")
#else
#pragma comment(lib, "opencv_core247.lib")
#pragma comment(lib, "opencv_imgproc247.lib")
#pragma comment(lib, "opencv_objdetect247.lib")
#pragma comment(lib, "opencv_gpu247.lib")
//#pragma comment(lib, "opencv_features2d247.lib")
#pragma comment(lib, "opencv_highgui247.lib")
#pragma comment(lib, "opencv_ml247.lib")
//#pragma comment(lib, "opencv_stitching247.lib");
//#pragma comment(lib, "opencv_nonfree247.lib");
#pragma comment(lib, "opencv_video247d.lib")
#endif 

using namespace cv;
using namespace std;

void drawOptFlowMap_gpu (const Mat& flow_x, const Mat& flow_y, Mat& cflowmap, int step, const Scalar& color) {
    for(int y = 0; y < cflowmap.rows; y += step) {
        for(int x = 0; x < cflowmap.cols; x += step) {
            Point2f fxy;
            fxy.x = cvRound( flow_x.at< float >(y, x) + x );
            fxy.y = cvRound( flow_y.at< float >(y, x) + y );
            line(cflowmap, Point(x,y), Point(fxy.x, fxy.y), color);
            circle(cflowmap, Point(fxy.x, fxy.y), 1, color, -1);
        }
    }
}

int main() {
    //resize scale
    int s=4;

    unsigned long AAtime=0, BBtime=0;

    //variables
    Mat GetImg, flow_x, flow_y, next, prvs;

    //gpu variable
    gpu::GpuMat prvs_gpu, next_gpu, flow_x_gpu, flow_y_gpu;
    gpu::GpuMat prvs_gpu_o, next_gpu_o;
    gpu::GpuMat prvs_gpu_c, next_gpu_c;

    //file name
    char fileName[100] = "./mm2.avi";
    //video file open
    VideoCapture stream1(fileName);   //0 is the id of video device.0 if you have only one camera   
    if(!(stream1.read(GetImg))) //get one frame form video
        return 0;

    //////////////////////////////////////////////////////////////////////////////////////////////
    //resize(GetImg, prvs, Size(GetImg.size().width/s, GetImg.size().height/s) );
    //cvtColor(prvs, prvs, CV_BGR2GRAY);
    //prvs_gpu.upload(prvs);
    //////////////////////////////////////////////////////////////////////////////////////////////
    //gpu upload, resize, color convert
    prvs_gpu_o.upload(GetImg);
    gpu::resize(prvs_gpu_o, prvs_gpu_c, Size(GetImg.size().width/s, GetImg.size().height/s) );
    gpu::cvtColor(prvs_gpu_c, prvs_gpu, CV_BGR2GRAY);
    /////////////////////////////////////////////////////////////////////////////////////////////

    //dense optical flow
    gpu::FarnebackOpticalFlow fbOF;

    //unconditional loop   
    while (true) {
        if(!(stream1.read(GetImg))) //get one frame form video   
            break;

        ///////////////////////////////////////////////////////////////////
        //resize(GetImg, next, Size(GetImg.size().width/s, GetImg.size().height/s) );
        //cvtColor(next, next, CV_BGR2GRAY);
        //next_gpu.upload(next);
        ///////////////////////////////////////////////////////////////////
        //gpu upload, resize, color convert
        next_gpu_o.upload(GetImg);
        gpu::resize(next_gpu_o, next_gpu_c, Size(GetImg.size().width/s, GetImg.size().height/s) );
        gpu::cvtColor(next_gpu_c, next_gpu, CV_BGR2GRAY);
        ///////////////////////////////////////////////////////////////////

        AAtime = getTickCount();
        //dense optical flow
        fbOF.operator()(prvs_gpu, next_gpu, flow_x_gpu, flow_y_gpu);
        //fbOF(prvs_gpu, next_gpu, flow_x_gpu, flow_y_gpu);
        BBtime = getTickCount();
        float pt = (BBtime - AAtime)/getTickFrequency();
        float fpt = 1/pt;
        printf("%.2lf / %.2lf \n",  pt, fpt );

        //copy for vector flow drawing
        Mat cflow;
        resize(GetImg, cflow, Size(GetImg.size().width/s, GetImg.size().height/s) );
        flow_x_gpu.download( flow_x );
        flow_y_gpu.download( flow_y );
        drawOptFlowMap_gpu(flow_x, flow_y, cflow, 10 , CV_RGB(0, 255, 0) );
        imshow("OpticalFlowFarneback", cflow);

        ///////////////////////////////////////////////////////////////////
        //Display gpumat
        next_gpu.download( next );
        prvs_gpu.download( prvs );
        imshow("next", next );
        imshow("prvs", prvs );

        //prvs mat update
        prvs_gpu = next_gpu.clone();

        if (waitKey(5) >= 0)   
            break;
    }
}

Implementation about optimization

Hello.

I'd like to ask about optimizing part.

  1. How do you implement the norm constraint ( norm(q)<1 ) on q? On each pixel, or on each direction for one pixel?
  2. How do you implement the one newton step refinement embed in each loop? Is this refinement independent for each pixel?

Thanks.

make error

I just installed cuda 7 and opencv 2.4.8 successfully, what's wrong?
lz@lz-pc:~/OpenDTAM/Cpp/build$ make
[ 5%] Building CXX object CMakeFiles/OpenDTAM.dir/CostVolume/CostVolume.cpp.o
In file included from /home/lz/OpenDTAM/Cpp/CostVolume/CostVolume.hpp:10:0,
from /home/lz/OpenDTAM/Cpp/CostVolume/CostVolume.cpp:6:
/usr/include/opencv2/gpu/gpu.hpp:432:29: error: ‘vector’ does not name a type
CV_EXPORTS void merge(const vector& src, GpuMat& dst, Stream& stream = Stream::Null());
^
/usr/include/opencv2/gpu/gpu.hpp:432:35: error: expected ‘,’ or ‘...’ before ‘<’ token
CV_EXPORTS void merge(const vector& src, GpuMat& dst, Stream& stream = Stream::Null());
^
/usr/include/opencv2/gpu/gpu.hpp:438:42: error: ‘vector’ has not been declared
CV_EXPORTS void split(const GpuMat& src, vector& dst, Stream& stream = Stream::Null());
^
/usr/include/opencv2/gpu/gpu.hpp:438:48: error: expected ‘,’ or ‘...’ before ‘<’ token
CV_EXPORTS void split(const GpuMat& src, vector& dst, Stream& stream = Stream::Null());
^
/usr/include/opencv2/gpu/gpu.hpp:1265:4: error: ‘vector’ does not name a type
vector locations;
^
/usr/include/opencv2/gpu/gpu.hpp:1266:4: error: ‘vector’ does not name a type
vector confidences;
^
/usr/include/opencv2/gpu/gpu.hpp:1267:4: error: ‘vector’ does not name a type
vector part_scores[4];
^
/usr/include/opencv2/gpu/gpu.hpp:1285:31: error: ‘vector’ does not name a type
void setSVMDetector(const vector& detector);
^
/usr/include/opencv2/gpu/gpu.hpp:1285:37: error: expected ‘,’ or ‘...’ before ‘<’ token
void setSVMDetector(const vector& detector);
^
/usr/include/opencv2/gpu/gpu.hpp:1287:12: error: ‘vector’ does not name a type
static vector getDefaultPeopleDetector();
^
/usr/include/opencv2/gpu/gpu.hpp:1288:12: error: ‘vector’ does not name a type
static vector getPeopleDetector48x96();
^
/usr/include/opencv2/gpu/gpu.hpp:1289:12: error: ‘vector’ does not name a type
static vector getPeopleDetector64x128();
^
/usr/include/opencv2/gpu/gpu.hpp:1291:36: error: ‘vector’ has not been declared
void detect(const GpuMat& img, vector& found_locations,
^
/usr/include/opencv2/gpu/gpu.hpp:1291:42: error: expected ‘,’ or ‘...’ before ‘<’ token
void detect(const GpuMat& img, vector& found_locations,
^
/usr/include/opencv2/gpu/gpu.hpp:1295:46: error: ‘vector’ has not been declared
void detectMultiScale(const GpuMat& img, vector& found_locations,
^
/usr/include/opencv2/gpu/gpu.hpp:1295:52: error: expected ‘,’ or ‘...’ before ‘<’ token
void detectMultiScale(const GpuMat& img, vector& found_locations,
^
/usr/include/opencv2/gpu/gpu.hpp:1300:47: error: ‘vector’ has not been declared
void computeConfidence(const GpuMat& img, vector& hits, double hit_threshold,
^
/usr/include/opencv2/gpu/gpu.hpp:1300:53: error: expected ‘,’ or ‘...’ before ‘<’ token
void computeConfidence(const GpuMat& img, vector& hits, double hit_threshold,
^
/usr/include/opencv2/gpu/gpu.hpp:1303:57: error: ‘vector’ has not been declared
void computeConfidenceMultiScale(const GpuMat& img, vector& found_locations,
^
/usr/include/opencv2/gpu/gpu.hpp:1303:63: error: expected ‘,’ or ‘...’ before ‘<’ token
void computeConfidenceMultiScale(const GpuMat& img, vector& found_locations,
^
/usr/include/opencv2/gpu/gpu.hpp:1835:5: error: ‘vector’ does not name a type
vector prevPyr_;
^
/usr/include/opencv2/gpu/gpu.hpp:1836:5: error: ‘vector’ does not name a type
vector nextPyr_;
^
/usr/include/opencv2/gpu/gpu.hpp:1838:5: error: ‘vector’ does not name a type
vector buf_;
^
/usr/include/opencv2/gpu/gpu.hpp:1839:5: error: ‘vector’ does not name a type
vector unused;
^
/home/lz/OpenDTAM/Cpp/CostVolume/CostVolume.cpp: In constructor ‘CostVolume::CostVolume(cv::Mat, FrameID, int, float, float, cv::Mat, cv::Mat, cv::Mat, float, Norm, float, float)’:
/home/lz/OpenDTAM/Cpp/CostVolume/CostVolume.cpp:84:108: error: no matching function for call to ‘cv::Ptr::Ptr(int)’
R(R),T(T),occlusionThreshold(occlusionThreshold),norm(norm),initialWeight(initialWeight),_cuArray(0) {

About make error

Hi paul
Thank you very much for doing such a nice job.
However,while dong the final step "make",I faced trobles:

[ 80%] Built target OpenDTAM
Linking CXX executable a.out
libOpenDTAM.so:‘cv::gpu::StreamAccessor::getStream(cv::gpu::Stream const&)’ undefined reference
collect2: error: ld returned 1 exit status
CMakeFiles/a.out.dir/build.make:195: recipe for target 'a.out' failed
make[2]: *** [a.out] Error 1
CMakeFiles/Makefile2:95: recipe for target 'CMakeFiles/a.out.dir/all' failed
make[1]: *** [CMakeFiles/a.out.dir/all] Error 2
Makefile:76: recipe for target 'all' failed
make: *** [all] Error 2

and my version:open-cv:2.4.9
the branch i used is :2.4.9 experimental

can you help me?Thank you!

make error...

Hi, Paul Foster,

I had followed the steps according to README.md, but came across the following make error as follows:

root@milton-desktop:~/OpenDTAM/Cpp/Build# make
[ 5%] Building NVCC (Device) object CMakeFiles/OpenDTAM.dir/Optimizer/./OpenDTAM_generated_Optimizer.cu.o
In file included from /root/OpenDTAM/Cpp/Optimizer/Optimizer.cu:4:0:
/root/OpenDTAM/Cpp/Optimizer/Optimizer.cuh:4:41: fatal error: opencv2/gpu/device/common.hpp: No such file or directory
compilation terminated.
CMake Error at OpenDTAM_generated_Optimizer.cu.o.cmake:198 (message):
Error generating
/root/OpenDTAM/Cpp/Build/CMakeFiles/OpenDTAM.dir/Optimizer/./OpenDTAM_generated_Optimizer.cu.o

make[2]: *** [CMakeFiles/OpenDTAM.dir/Optimizer/./OpenDTAM_generated_Optimizer.cu.o] Error 1
make[1]: *** [CMakeFiles/OpenDTAM.dir/all] Error 2
make: *** [all] Error 2

It seems the common.hpp in opencv gpu package is missing, but I had installed opencv successfully by : apt-get install libopencv-dev.
Could you suggest me how to fix this issue?

Best regards,
Milton

2.4.9_backport : Optimizer doesn't work well

Hi, all.

I run OpenDTAM-2.4.9backport, but optimizer doesn't work well.
How should I do to fix this problem?

I'd like to get high quality results like #38 (I don't know what branch he used to record #38's video, but anyway this problem is not related now).
And as I watched this video, the initial image(a and d) looks similar as my results, so initial part is not problem, I think.
Is it optimization parameter problem? or bug?

In my understanding, this is optimization part, right?

bool doneOptimizing; int Acount=0; int QDcount=0;
do{
    cout<<"Theta: "<< optimizer.getTheta()<<endl;
    cout<<"Acount " << Acount << ", QDcount " << QDcount << endl;
    if(Acount==0) gpause();
    a.download(ret);//GPU(a)->CPU(ret)
    pfShow("A function", ret, 0, cv::Vec2d(0, layers));
    for (int i = 0; i < 10; i++) {
        d=denoiser(a,optimizer.epsilon,optimizer.getTheta());//operater() in DepthmapDenoiseWeightedHuber.cpp
        QDcount++;
         //denoiser._qx.download(ret);
         //pfShow("Q function:x direction", ret, 0, cv::Vec2d(-1, 1));
         //denoiser._qy.download(ret);
         //pfShow("Q function:y direction", ret, 0, cv::Vec2d(-1, 1));
         d.download(ret);
         pfShow("D function", ret, 0, cv::Vec2d(0, layers));
   }
   doneOptimizing=optimizer.optimizeA(d,a);
   Acount++;        
}while(!doneOptimizing);
cout << "done optimizing!" << endl;

Here is the parameter I used(default setting).

  • imagesPerCV = 2
  • layers = 32
  • thetaStart = 20.0;
  • thetaMin = 1.0;
  • thetaStep = .97;
  • epsilon = .1;
  • lambda = .01;

And this is my results(after optimization), and before optimization I got same (a, d) image.
And also I downloaded OpenDTAM2.4.9-backport and I don't change the code(for debug, I added some cout statement, but I think cout statement doesn't change any variables.)

screenshot from 2015-10-23 23 06 49

about uploading video

Hi, Paul and all other contributors,

I'd like to confirm that Open DTAM which I downloaded runs correctly.
Would you upload a video about running Open DTAM correctly?
I think it is very convenient for us to confirm that Open DTAM runs correctly.
(If you already uploaded it, would you write a URL where the video was uploaded?)

Thanks.

opencv cmake error.

I have an error I can nor solve this problem. I use Ubuntu 16.04 I use this tutorial https://github.com/BVLC/caffe/wiki/Ubuntu-16.04-or-15.10-OpenCV-3.1-Installation-Guide and its not working.

Determining if the system is big endian passed with the following output:
Change Dir: /home/makine/Desktop/opencv-master/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_ba66c/fast"
/usr/bin/make -f CMakeFiles/cmTC_ba66c.dir/build.make CMakeFiles/cmTC_ba66c.dir/build
make[1]: Entering directory '/home/makine/Desktop/opencv-master/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_ba66c.dir/TestEndianess.c.o
/usr/bin/cc    -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -mno-avx -msse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -ffunction-sections -fvisibility=hidden  -O3 -DNDEBUG   -o CMakeFiles/cmTC_ba66c.dir/TestEndianess.c.o   -c /home/makine/Desktop/opencv-master/build/CMakeFiles/CMakeTmp/TestEndianess.c
Linking C executable cmTC_ba66c
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_ba66c.dir/link.txt --verbose=1
/usr/bin/cc     -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -mno-avx -msse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -ffunction-sections -fvisibility=hidden  -O3 -DNDEBUG    CMakeFiles/cmTC_ba66c.dir/TestEndianess.c.o  -o cmTC_ba66c -rdynamic 
make[1]: Leaving directory '/home/makine/Desktop/opencv-master/build/CMakeFiles/CMakeTmp'

TestEndianess.c:
/* A 16 bit integer is required. */
typedef unsigned short cmakeint16;

/* On a little endian machine, these 16bit ints will give "THIS IS LITTLE ENDIAN."
   On a big endian machine the characters will be exchanged pairwise. */
const cmakeint16 info_little[] =  {0x4854, 0x5349, 0x4920, 0x2053, 0x494c, 0x5454, 0x454c, 0x4520, 0x444e, 0x4149, 0x2e4e, 0x0000};

/* on a big endian machine, these 16bit ints will give "THIS IS BIG ENDIAN."
   On a little endian machine the characters will be exchanged pairwise. */
const cmakeint16 info_big[] =     {0x5448, 0x4953, 0x2049, 0x5320, 0x4249, 0x4720, 0x454e, 0x4449, 0x414e, 0x2e2e, 0x0000};

#ifdef __CLASSIC_C__
int main(argc, argv) int argc; char *argv[];
#else
int main(int argc, char *argv[])
#endif
{
  int require = 0;
  require += info_little[argc];
  require += info_big[argc];
  (void)argv;
  return require;
}


Determining if the include file linux/videodev.h exists failed with the following output:
Change Dir: /home/makine/Desktop/opencv-master/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_abb3e/fast"
/usr/bin/make -f CMakeFiles/cmTC_abb3e.dir/build.make CMakeFiles/cmTC_abb3e.dir/build
make[1]: Entering directory '/home/makine/Desktop/opencv-master/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_abb3e.dir/CheckIncludeFile.c.o
/usr/bin/cc    -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -mno-avx -msse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -ffunction-sections -fvisibility=hidden  -O3 -DNDEBUG   -o CMakeFiles/cmTC_abb3e.dir/CheckIncludeFile.c.o   -c /home/makine/Desktop/opencv-master/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c
/home/makine/Desktop/opencv-master/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c:1:28: fatal error: linux/videodev.h: No such file or directory
compilation terminated.
CMakeFiles/cmTC_abb3e.dir/build.make:65: recipe for target 'CMakeFiles/cmTC_abb3e.dir/CheckIncludeFile.c.o' failed
make[1]: *** [CMakeFiles/cmTC_abb3e.dir/CheckIncludeFile.c.o] Error 1
make[1]: Leaving directory '/home/makine/Desktop/opencv-master/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_abb3e/fast' failed
make: *** [cmTC_abb3e/fast] Error 2


Determining if the include file sys/videoio.h exists failed with the following output:
Change Dir: /home/makine/Desktop/opencv-master/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_4639f/fast"
/usr/bin/make -f CMakeFiles/cmTC_4639f.dir/build.make CMakeFiles/cmTC_4639f.dir/build
make[1]: Entering directory '/home/makine/Desktop/opencv-master/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_4639f.dir/CheckIncludeFile.c.o
/usr/bin/cc    -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -mno-avx -msse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -ffunction-sections -fvisibility=hidden  -O3 -DNDEBUG   -o CMakeFiles/cmTC_4639f.dir/CheckIncludeFile.c.o   -c /home/makine/Desktop/opencv-master/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c
/home/makine/Desktop/opencv-master/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c:1:25: fatal error: sys/videoio.h: No such file or directory
compilation terminated.
CMakeFiles/cmTC_4639f.dir/build.make:65: recipe for target 'CMakeFiles/cmTC_4639f.dir/CheckIncludeFile.c.o' failed
make[1]: *** [CMakeFiles/cmTC_4639f.dir/CheckIncludeFile.c.o] Error 1
make[1]: Leaving directory '/home/makine/Desktop/opencv-master/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_4639f/fast' failed
make: *** [cmTC_4639f/fast] Error 2


Determining if the include file ffmpeg/avformat.h exists failed with the following output:
Change Dir: /home/makine/Desktop/opencv-master/build/CMakeFiles/CMakeTmp

Run Build Command:"/usr/bin/make" "cmTC_17b16/fast"
/usr/bin/make -f CMakeFiles/cmTC_17b16.dir/build.make CMakeFiles/cmTC_17b16.dir/build
make[1]: Entering directory '/home/makine/Desktop/opencv-master/build/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_17b16.dir/CheckIncludeFile.c.o
/usr/bin/cc    -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wno-narrowing -Wno-comment -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -mno-avx -msse3 -mno-ssse3 -mno-sse4.1 -mno-sse4.2 -ffunction-sections -fvisibility=hidden  -O3 -DNDEBUG   -o CMakeFiles/cmTC_17b16.dir/CheckIncludeFile.c.o   -c /home/makine/Desktop/opencv-master/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c
/home/makine/Desktop/opencv-master/build/CMakeFiles/CMakeTmp/CheckIncludeFile.c:1:29: fatal error: ffmpeg/avformat.h: No such file or directory
compilation terminated.
CMakeFiles/cmTC_17b16.dir/build.make:65: recipe for target 'CMakeFiles/cmTC_17b16.dir/CheckIncludeFile.c.o' failed
make[1]: *** [CMakeFiles/cmTC_17b16.dir/CheckIncludeFile.c.o] Error 1
make[1]: Leaving directory '/home/makine/Desktop/opencv-master/build/CMakeFiles/CMakeTmp'
Makefile:126: recipe for target 'cmTC_17b16/fast' failed
make: *** [cmTC_17b16/fast] Error 2

Could you give me some advice on how to solve the issue I face

Hi anuranbaka,

Thanks for your kindly contribution :)
However, I am currently facing some problem while do "make" the file you provide as following:
screenshot_make

Here is the system setup:

  • Ubuntu-14.04 64bit
  • OpenCV-2.4.10
  • Cuda toolkit-5.5
  • libboost-1.49

And, here is the result of "cmake ..":
screenshot_cmake

Also, the result of "cmake -L
screenshot_cmake-l

Not sure... whether or not that I need to use OpenCV-3.0.0 instead of my current one (i.e., OpenCV-2.4.10)? Looking forward to your kindly help!

Best Regards,
Yao-Ling

/transform_detail.hpp, line 320, error: (-217) unknown error in function call

from avanindra:
I am getting another crash though after some time , in CosVolume.cpp at line 80 , in cv::gpu::cvtcolor :
"OpenCV Error: Gpu API call (unknown error) in call, file /home/avanindra/projects/libraries/opencv_2.4/modules/gpu/include/opencv2/gpu/device/detail/transform_detail.hpp, line 320
terminate called after throwing an instance of 'cv::Exception'
what(): /home/avanindra/projects/libraries/opencv_2.4/modules/gpu/include/opencv2/gpu/device/detail/transform_detail.hpp:320: error: (-217) unknown error in function call"

License?

I'm sorry, but what's the license of OpenDTAM again?

FATAL: Module nvidia_331_uvm not found.

text_file_name = ./Trajectory_30_seconds/scene_045.txt
Reading: scene_045.png
text_file_name = ./Trajectory_30_seconds/scene_046.txt
Reading: scene_046.png
text_file_name = ./Trajectory_30_seconds/scene_047.txt
Reading: scene_047.png
text_file_name = ./Trajectory_30_seconds/scene_048.txt
Reading: scene_048.png
text_file_name = ./Trajectory_30_seconds/scene_049.txt
Reading: scene_049.png
FATAL: Module nvidia_331_uvm not found.
OpenCV Error: Gpu API call (unknown error) in create, file /home/opendtam/openDTAM/opencv-2.4.9/modules/gpu/src/matrix_operations.cpp, line 255
terminate called after throwing an instance of 'cv::Exception'
what(): /home/opendtam/openDTAM/opencv-2.4.9/modules/gpu/src/matrix_operations.cpp:255: error: (-217) unknown error in function create

Aborted (core dumped)

The above is the debug. I compile the openDTAM using ubuntu 12.04, cuda 6.0 on Nvidia GTX670 graphic card, opencv 2.4.9. I have done it for many times. The program can make successfully. However, when I run it using ./a.out, problem occured when it finished read picture 49.

How can I solve it? can you help you?

Black images produced

Black images sometimes show instead of the correct output. Reported by hustcalm in issue #15 , and by a couple of other users via email.

Suspect this has to do with CC<3.5 issues. Probably the version switching macros are messed up.

testprog is crashing with cuda error

HI,

I get following run time error , while I run the test program:

"OpenCV Error: Gpu API call (invalid device function ) in computeGCaller, file /home/avanindra/projects/common-dev/OpenDTAM/Cpp/Optimizer/Optimizer.cu, line 282
terminate called after throwing an instance of 'cv::Exception'
what(): /home/avanindra/projects/common-dev/OpenDTAM/Cpp/Optimizer/Optimizer.cu:282: error: (-217) invalid device function in function computeGCaller"

I have gtx 770 graphics card , CUDA 6 , opencv 4.9 with cuda , on ubuntu 13.04.

About demo video

I'd like to need more information about this video because I want to get high quality results such as the video.

I'd like to ask about the situation when you captured this video(Issue #38 ).
That is,

  • Version : which branch do you used? master?, 2.4.9_experimental? others?
  • Parameters:
    • Weighted terms value of regulariser(alpha, beta in DTAM paper Eq.6)
    • Optimization parameters(theta, thetamin, epsilon, and so on.)
    • Number of images which you use for updating cost volume.
    • cost volume near, and far value.(xi_min, xi_max in DTAM figure.1)

Thanks.

opencv 3.0 build error (possible resolution: QT gui issues)

Hi, Paul,

As the OpenDTAM is towards the target opencv 3.0, I plan to shifted into new opencv 3.0 environment. But I came across the build error as follows:

[ 42%] Building CXX object modules/calib3d/CMakeFiles/opencv_calib3d.dir/src/stereosgbm.cpp.o
[ 42%] Building CXX object modules/calib3d/CMakeFiles/opencv_calib3d.dir/src/dls.cpp.o
/root/Downloads/opencv-3.0/modules/calib3d/src/dls.cpp:11:31: fatal error: Eigen/Eigenvalues: No such file or directory
compilation terminated.
make[2]: *** [modules/calib3d/CMakeFiles/opencv_calib3d.dir/src/dls.cpp.o] Error 1
make[1]: *** [modules/calib3d/CMakeFiles/opencv_calib3d.dir/all] Error 2
make: *** [all] Error 2

Before, the output from cmake-gui is as follows:

Detected version of GNU GCC: 46 (406)
Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found suitable version "1.2.3.4", required is "1.2.3")
Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.3.4")
Found OpenEXR: /usr/lib/libIlmImf.so
checking for module 'gstreamer-base-1.0'
package 'gstreamer-base-1.0' not found
checking for module 'gstreamer-video-1.0'
package 'gstreamer-video-1.0' not found
checking for module 'gstreamer-app-1.0'
package 'gstreamer-app-1.0' not found
checking for module 'gstreamer-riff-1.0'
package 'gstreamer-riff-1.0' not found
checking for module 'gstreamer-pbutils-1.0'
package 'gstreamer-pbutils-1.0' not found
Looking for linux/videodev.h
Looking for linux/videodev.h - not found
Looking for linux/videodev2.h
Looking for linux/videodev2.h - found
Looking for sys/videoio.h
Looking for sys/videoio.h - not found
Looking for libavformat/avformat.h
Looking for libavformat/avformat.h - found
Looking for ffmpeg/avformat.h
Looking for ffmpeg/avformat.h - not found
found IPP (ICV version): 8.1.1 [8.1.1]
at: /root/Downloads/opencv-3.0/3rdparty/ippicv/unpack/ippicv_lnx
CUDA detected: 5.5
CUDA NVCC target flags: -gencode;arch=compute_11,code=sm_11;-gencode;arch=compute_12,code=sm_12;-gencode;arch=compute_13,code=sm_13;-gencode;arch=compute_20,code=sm_20;-gencode;arch=compute_20,code=sm_21;-gencode;arch=compute_30,code=sm_30;-gencode;arch=compute_35,code=sm_35;-gencode;arch=compute_30,code=compute_30
Could NOT find PythonInterp: Found unsuitable version "2.7.3", but required is at least "3.4" (found /usr/bin/python)
Could NOT find PythonInterp: Found unsuitable version "2.7.3", but required is at least "3.2" (found /usr/bin/python)
Found Sphinx 1.1.3: /usr/bin/sphinx-build
Could NOT find JNI (missing: JAVA_AWT_LIBRARY JAVA_JVM_LIBRARY JAVA_INCLUDE_PATH JAVA_INCLUDE_PATH2 JAVA_AWT_INCLUDE_PATH)
Could NOT find Matlab (missing: MATLAB_MEX_SCRIPT MATLAB_INCLUDE_DIRS MATLAB_ROOT_DIR MATLAB_LIBRARIES MATLAB_LIBRARY_DIRS MATLAB_MEXEXT MATLAB_ARCH MATLAB_BIN)
VTK is not found. Please set -DVTK_DIR in CMake to VTK build directory, or to VTK install subdirectory with VTKConfig.cmake file

General configuration for OpenCV 3.0.0-dev =====================================
Version control: unknown

Platform:
Host: Linux 3.8.0-29-generic x86_64
CMake: 2.8.9
CMake generator: Unix Makefiles
CMake build tool: /usr/bin/make
Configuration: Release

C/C++:
Built as dynamic libs?: YES
C++ Compiler: /usr/bin/c++ (ver 4.6.3)
C++ flags (Release): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -DNDEBUG
C++ flags (Debug): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -ffunction-sections -fvisibility=hidden -fvisibility-inlines-hidden -g -O0 -DDEBUG -D_DEBUG
C Compiler: /usr/bin/gcc
C flags (Release): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -ffunction-sections -fvisibility=hidden -O3 -DNDEBUG -DNDEBUG
C flags (Debug): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -fdiagnostics-show-option -Wno-long-long -pthread -fomit-frame-pointer -msse -msse2 -msse3 -ffunction-sections -fvisibility=hidden -g -O0 -DDEBUG -D_DEBUG
Linker flags (Release):
Linker flags (Debug):
Precompiled headers: YES

OpenCV modules:
To be built: cudev core flann imgproc imgcodecs videoio highgui features2d calib3d cudaarithm ml objdetect cudalegacy cudawarping cuda cudafilters cudaimgproc video cudabgsegm cudacodec cudafeatures2d cudaoptflow cudastereo photo shape stitching superres videostab python2 ts
Disabled: world
Disabled by dependency: -
Unavailable: androidcamera java python3 viz

GUI:
QT 5.x: YES (ver 5.0.2)
QT OpenGL support: NO
OpenGL support: NO
VTK support: NO

Media I/O:
ZLib: /usr/lib/x86_64-linux-gnu/libz.so (ver 1.2.3.4)
JPEG: /usr/lib/x86_64-linux-gnu/libjpeg.so (ver )
WEBP: build (ver 0.3.1)
PNG: /usr/lib/x86_64-linux-gnu/libpng.so (ver 1.2.46)
TIFF: /usr/lib/x86_64-linux-gnu/libtiff.so (ver 42 - 3.9.5)
JPEG 2000: /usr/lib/x86_64-linux-gnu/libjasper.so (ver 1.900.1)
OpenEXR: /usr/lib/libImath.so /usr/lib/libIlmImf.so /usr/lib/libIex.so /usr/lib/libHalf.so /usr/lib/libIlmThread.so (ver 1.6.1)
GDAL: NO

Video I/O:
DC1394 1.x: NO
DC1394 2.x: YES (ver 2.2.0)
FFMPEG: YES
codec: YES (ver 53.35.0)
format: YES (ver 53.21.1)
util: YES (ver 51.22.2)
swscale: YES (ver 2.1.0)
gentoo-style: YES
GStreamer:
base: YES (ver 0.10.36)
video: YES (ver 0.10.36)
app: YES (ver 0.10.36)
riff: YES (ver 0.10.36)
pbutils: YES (ver 0.10.36)
OpenNI: NO
OpenNI PrimeSensor Modules: NO
OpenNI2: NO
PvAPI: NO
GigEVisionSDK: NO
UniCap: NO
UniCap ucil: NO
V4L/V4L2: Using libv4l (ver 0.8.6)
XIMEA: NO
Xine: NO

Other third-party libraries:
Use IPP: 8.1.1 [8.1.1]
at: /root/Downloads/opencv-3.0/3rdparty/ippicv/unpack/ippicv_lnx
Use IPP Async: NO
Use Eigen: YES (ver 2.0.17)
Use TBB: NO
Use OpenMP: NO
Use GCD NO
Use Concurrency NO
Use C=: NO
Use Cuda: YES (ver 5.5)
Use OpenCL: YES

NVIDIA CUDA
Use CUFFT: YES
Use CUBLAS: NO
USE NVCUVID: NO
NVIDIA GPU arch: 11 12 13 20 21 30 35
NVIDIA PTX archs: 30
Use fast math: NO

OpenCL:
Version: dynamic
Include path: /root/Downloads/opencv-3.0/3rdparty/include/opencl/1.2
Use AMDFFT: NO
Use AMDBLAS: NO

Python 2:
Interpreter: /usr/bin/python2.7 (ver 2.7.3)
Libraries: /usr/lib/libpython2.7.so (ver 2.7.3)
numpy: /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.6.1)
packages path: lib/python2.7/dist-packages

Python 3:
Interpreter: NO

Python (for build): /usr/bin/python2.7

Java:
ant: NO
JNI: NO
Java tests: NO

Matlab:
mex: NO

Documentation:
Build Documentation: YES
Sphinx: /usr/bin/sphinx-build (ver 1.1.3)
PdfLaTeX compiler: /usr/bin/pdflatex
PlantUML: NO

Tests and samples:
Tests: YES
Performance tests: YES
C/C++ Examples: NO

Install path: /usr/local

cvconfig.h is in: /root/Downloads/opencv-3.0/release


Configuring done
Generating done

It seems very strange that the system cannot find "Eigen/Eigenvalues" while the cmake-gui could recognize EIGEN in "/usr/include/eigen2". Could you give me some suggestions on how to fix it?

Best regards,
Milton

Error run at optimizer.cvStream.waitForCompletion();

convert
text_file_name = /home/anson.lin/dtamm/OpenDTAM-2.4.9_experimental/Trajectory_30_seconds/scene_046.txt
Reading: scene_046.png
convert
text_file_name = /home/anson.lin/dtamm/OpenDTAM-2.4.9_experimental/Trajectory_30_seconds/scene_047.txt
Reading: scene_047.png
convert
text_file_name = /home/anson.lin/dtamm/OpenDTAM-2.4.9_experimental/Trajectory_30_seconds/scene_048.txt
Reading: scene_048.png
convert
text_file_name = /home/anson.lin/dtamm/OpenDTAM-2.4.9_experimental/Trajectory_30_seconds/scene_049.txt
Reading: scene_049.png
convert
text_file_name = /home/anson.lin/dtamm/OpenDTAM-2.4.9_experimental/Trajectory_30_seconds/scene_050.txt
Reading: scene_050.png

OpenCV Error: Assertion failed (src1.type() == src2.type()) in scaleAdd, file /home/ubuntu/opencv-2.4.10/modules/core/src/matmul.cpp, line 2079
terminate called after throwing an instance of 'cv::Exception'
what(): /home/ubuntu/opencv-2.4.10/modules/core/src/matmul.cpp:2079: error: (-215) src1.type() == src2.type() in function scaleAdd

Aborted (core dumped)

we found the error occurred at the commond:
optimizer.cvStream.waitForCompletion();

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.