intelrealsense / realsense_sdk_zr300 Goto Github PK
View Code? Open in Web Editor NEWToolkit built on top of the Intel® RealSense™ Cross Platform API (librealsense)
License: Apache License 2.0
Toolkit built on top of the Intel® RealSense™ Cross Platform API (librealsense)
License: Apache License 2.0
Building realsense_sdk
from master
branch using following commands:
mkdir build
cd build
make -j 4
produces the following compiler error on my system:
/home/kotlyar/software/realsense_sdk/sdk/src/core/image/image_conversion_util.cpp:7:23: fatal error: opencv/cv.h: No such file or directory
#include "opencv/cv.h"
^
compilation terminated.
Apparently image_conversion_util.cpp
requires OpenCV
which is not installed, but the CMake
scripts don't check for it.
Error reads as follows -
/sdk/src/cameras/compression/lz4_codec.cpp:67:163: error: ‘LZ4_compress_fast’ was not declared in this scope
I have lz4 installed on my computer
When trying to run cmake after creating new folder named "build" I get this error:
Eventually, I succeeded running cmake with this w/a:
Hi all,
I have pre-install :
OpenCV 3.1
Intel RealSense Cross Platform API v1.12.1
CMake
OpenGL GLFW version 3
liblz4-dev
and I use the master branch but I got this error when building the source : record_async_sample
undefined reference to `rs::core::compression::encoder_synchronizer::~encoder_synchronizer()'
undefined reference to `rs::core::compression::encoder_synchronizer::get_compression_type(rs_stream)'
undefined reference to `rs::core::compression::encoder_synchronizer::encoder_synchronizer(std::shared_ptr<rs::core::compression::encoder>)'
undefined reference to `rs::core::compression::encoder_synchronizer::clear()'
undefined reference to `rs::core::compression::encoder_synchronizer::encode_sample_and_lock(std::shared_ptr<rs::core::file_types::frame_sample>)'
undefined reference to `rs::core::compression::encoder_synchronizer::get_next_data(rs_stream, unsigned int&)'
undefined reference to undefined reference to collect2: error: ld returned 1 exit status
Any Idea?
Thanks in advance
Came across this: https://github.com/IntelRealSense/realsense_sdk/blob/master/sdk/test/main.cpp#L8
Is Google Test required to run the tests in this repo? If so, this needs to be reflected in the documentation
As a side note: librealsense standardized on the Catch library which has much of the same functionality
rs::core::pixel_format - as found in places like this https://github.com/IntelRealSense/realsense_sdk/blob/master/sdk/include/rs/utils/librealsense_conversion_utils.h
There is a 1:1 mapping between realsense_sdk
and librealsense
. Since librealsense
is a dependency of this repo, why not use those types directly instead of creating a translation layer?
I have two zr300 and I want both of them are sync at the same time ,How to do this ?
Hello,
did someone manage to use the ZR300 with this sdk on Windows? I need it for skeleton tracking / gesture detection.
Regards
Niko
When I checkout latest code, I failed to open the Developer Guide.pdf
and Getting Started Guide.pdf
via Evince or Google Chrome, seems those two pdf are broken.
I get error while compiling. I am using ubuntu 16.06,64bit. I have installed librealsense-master, opencv 3.1, libog4cxx10v5, liblog4cxx10-dev, liblog4cxx-dev
desktop:~/softwares/sensor-drivers/realsense_sdk/build$ make -j8
Scanning dependencies of target rs_compression
Scanning dependencies of target rs_log_utils
Scanning dependencies of target rs_logger
Scanning dependencies of target rs_fps_utils
Scanning dependencies of target rs_cl_util
[ 1%] Building CXX object sdk/src/cameras/compression/CMakeFiles/rs_compression.dir/compression_mock.cpp.o
[ 3%] Building CXX object sdk/src/utilities/fps/CMakeFiles/rs_fps_utils.dir/fps_utils.cpp.o
[ 5%] Building CXX object sdk/src/utilities/logger/logger/CMakeFiles/rs_logger.dir/xlevel.cpp.o
[ 7%] Building CXX object sdk/src/utilities/command_line/CMakeFiles/rs_cl_util.dir/cmd_base.cpp.o
[ 8%] Building CXX object sdk/src/utilities/logger/logger/CMakeFiles/rs_logger.dir/logger.cpp.o
[ 10%] Building CXX object sdk/src/utilities/command_line/CMakeFiles/rs_cl_util.dir/basic_cmd_util.cpp.o
[ 12%] Building CXX object sdk/src/utilities/logger/log_utils/CMakeFiles/rs_log_utils.dir/log_utils.cpp.o
In file included from /home/krr/softwares/sensor-drivers/realsense_sdk/sdk/src/utilities/image/librealsense_image_utils.h:2:0,
from /home/krr/softwares/sensor-drivers/realsense_sdk/sdk/src/cameras/include/file_types.h:7,
from /home/krr/softwares/sensor-drivers/realsense_sdk/sdk/src/cameras/compression/compression_interface.h:9,
from /home/krr/softwares/sensor-drivers/realsense_sdk/sdk/src/cameras/compression/compression_mock.h:5,
from /home/krr/softwares/sensor-drivers/realsense_sdk/sdk/src/cameras/compression/compression_mock.cpp:1:
/home/krr/softwares/sensor-drivers/realsense_sdk/sdk/include/rs/utils/librealsense_conversion_utils.h: In function ‘rs::core::distortion_type rs::utils::convert_distortion(rs::distortion)’:
/home/krr/softwares/sensor-drivers/realsense_sdk/sdk/include/rs/utils/librealsense_conversion_utils.h:101:19: error: enumeration value ‘distortion_ftheta’ not handled in switch [-Werror=switch]
switch(lrs_distortion)
^
In file included from /home/krr/softwares/sensor-drivers/realsense_sdk/sdk/src/cameras/compression/compression_interface.h:9:0,
from /home/krr/softwares/sensor-drivers/realsense_sdk/sdk/src/cameras/compression/compression_mock.h:5,
from /home/krr/softwares/sensor-drivers/realsense_sdk/sdk/src/cameras/compression/compression_mock.cpp:1:
/home/krr/softwares/sensor-drivers/realsense_sdk/sdk/src/cameras/include/file_types.h: In constructor ‘rs::core::file_types::frame_sample::frame_sample(rs_stream, rs_frame_ref_, uint64_t)’:
/home/krr/softwares/sensor-drivers/realsense_sdk/sdk/src/cameras/include/file_types.h:157:43: error: ‘rs_frame_ref {aka struct rs_frame_ref}’ has no member named ‘get_frame_stride_x’
finfo.stride_x = ref->get_frame_stride_x();
^
/home/krr/softwares/sensor-drivers/realsense_sdk/sdk/src/cameras/include/file_types.h:158:43: error: ‘rs_frame_ref {aka struct rs_frame_ref}’ has no member named ‘get_frame_stride_y’
finfo.stride_y = ref->get_frame_stride_y();
^
[ 14%] Linking CXX shared library ../../../../../sdk/lib/release/librs_fps_utils.so
cc1plus: all warnings being treated as errors
sdk/src/cameras/compression/CMakeFiles/rs_compression.dir/build.make:62: recipe for target 'sdk/src/cameras/compression/CMakeFiles/rs_compression.dir/compression_mock.cpp.o' failed
make[2]: *_* [sdk/src/cameras/compression/CMakeFiles/rs_compression.dir/compression_mock.cpp.o] Error 1
CMakeFiles/Makefile2:791: recipe for target 'sdk/src/cameras/compression/CMakeFiles/rs_compression.dir/all' failed
make[1]: *** [sdk/src/cameras/compression/CMakeFiles/rs_compression.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 14%] Built target rs_fps_utils
[ 16%] Linking CXX shared library ../../../../../../sdk/lib/release/librs_log_utils.so
[ 17%] Linking CXX shared library ../../../../../../sdk/lib/release/librs_logger.so
[ 17%] Built target rs_log_utils
[ 17%] Built target rs_logger
[ 19%] Linking CXX static library ../../../../../sdk/lib/release/librs_cl_util.a
[ 19%] Built target rs_cl_util
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
Follow the common cmake build steps, mkdir build; cd build; cmake ..; make
, the below out libraries and binaries are not located under build
, instead located at src directory.
sdk/bin/debug/*
sdk/bin/release/*
sdk/lib/debug/*
sdk/lib/release/*
samples/bin/debug/*
samples/bin/release/*
tests/bin/*
There are two issues I file this issues:
File in question: https://github.com/IntelRealSense/realsense_sdk/blob/master/sdk/src/utilities/logger/RSLogs/rslog.properties
Doesn't appear like a file that should be in this repo. Why does it reference log4j?
https://github.com/IntelRealSense/realsense_sdk/blob/master/sdk/src/samples/projection_sample/projection_sample.cpp and related Projection API (UV map / inverse UV map) are all already implemented fully within librealsense: https://github.com/IntelRealSense/librealsense/blob/master/include/librealsense/rs.hpp#L24
Hello. Trying to compile on Ubuntu 16.04 I seem to be getting an interesting error
vess@vorpal:~/code/3d/experiments/realsense_sdk/build$ make
[ 1%] Building CXX object sdk/src/utilities/logger/log_utils/CMakeFiles/realsense_log_utils.dir/log_utils.cpp.o
[ 2%] Linking CXX shared library librealsense_log_utils.so
[ 2%] Built target realsense_log_utils
[ 3%] Building CXX object sdk/src/core/image/CMakeFiles/realsense_image.dir/image_base.cpp.o
[ 5%] Building CXX object sdk/src/core/image/CMakeFiles/realsense_image.dir/custom_image.cpp.o
[ 6%] Building CXX object sdk/src/core/image/CMakeFiles/realsense_image.dir/image_conversion_util.cpp.o
/home/vess/code/3d/experiments/realsense_sdk/sdk/src/core/image/image_conversion_util.cpp: In static member function ‘static rs::core::status rs::core::image_conversion_util::convert(const rs::core::image_info&, const uint8_t*, const rs::core::image_info&, uint8_t*)’:
/home/vess/code/3d/experiments/realsense_sdk/sdk/src/core/image/image_conversion_util.cpp:45:29: error: ‘applyColorMap’ is not a member of ‘cv’
cv::applyColorMap(color_map, dst_mat, cv::COLORMAP_HOT);
^
/home/vess/code/3d/experiments/realsense_sdk/sdk/src/core/image/image_conversion_util.cpp:45:67: error: ‘COLORMAP_HOT’ is not a member of ‘cv’
cv::applyColorMap(color_map, dst_mat, cv::COLORMAP_HOT);
^
/home/vess/code/3d/experiments/realsense_sdk/sdk/src/core/image/image_conversion_util.cpp:48:25: error: ‘applyColorMap’ is not a member of ‘cv’
cv::applyColorMap(color_map, src_mat, cv::COLORMAP_HOT);
^
/home/vess/code/3d/experiments/realsense_sdk/sdk/src/core/image/image_conversion_util.cpp:48:63: error: ‘COLORMAP_HOT’ is not a member of ‘cv’
cv::applyColorMap(color_map, src_mat, cv::COLORMAP_HOT);
^
sdk/src/core/image/CMakeFiles/realsense_image.dir/build.make:110: recipe for target 'sdk/src/core/image/CMakeFiles/realsense_image.dir/image_conversion_util.cpp.o' failed
make[2]: *** [sdk/src/core/image/CMakeFiles/realsense_image.dir/image_conversion_util.cpp.o] Error 1
CMakeFiles/Makefile2:408: recipe for target 'sdk/src/core/image/CMakeFiles/realsense_image.dir/all' failed
make[1]: *** [sdk/src/core/image/CMakeFiles/realsense_image.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
Any ideas?
Ostensibly this is for Linux only, however I see PXC/win32 stuff in a variety of places (e.g. https://github.com/IntelRealSense/realsense_sdk/blob/master/sdk/src/cameras/playback/windows/disk_read_windows.cpp)
Ubuntu 16.04, OpenCV 3.2
Had to modify all the CMakeLists.txt files to allow compilation. Otherwise got a lot of undefined references (think because I'm using OpenCV 3.2). Modifications were essentially,
find_package(OpenCV 3.1 REQUIRED)
...
target_link_libraries(... ${OpenCV_LIBRARIES})
for all the CMakeLists.txt
Appears to be working fine otherwise. Was there a reason for limiting the library to OpenCV 3.1?
Hi all,
I have pre-install :
[ 64%] Linking CXX shared library librealsense_pipeline.so
[ 64%] Built target realsense_pipeline
Scanning dependencies of target rs_projection_tool
[ 65%] Building CXX object sdk/src/tools/projection_tool/CMakeFiles/rs_projection_tool.dir/projection_viewer.cpp.o
[ 66%] Building CXX object sdk/src/tools/projection_tool/CMakeFiles/rs_projection_tool.dir/projection_tool.cpp.o
[ 67%] Linking CXX executable rs_projection_tool
CMakeFiles/rs_projection_tool.dir/projection_viewer.cpp.o: In function `projection_viewer::projection_viewer(std::map<rs::core::stream_type, rs::core::sizeI32, std::less<rs::core::stream_type>, std::allocator<std::pair<rs::core::stream_type const, rs::core::sizeI32> > > const&, std::function<void ()>)::{lambda(GLFWwindow*, int, int, int, int)#2}::operator()(GLFWwindow*, int, int, int, int) const':
projection_viewer.cpp:(.text+0x11d6): undefined reference to `glfwGetWindowUserPointer'
CMakeFiles/rs_projection_tool.dir/projection_viewer.cpp.o: In function `projection_viewer::projection_viewer(std::map<rs::core::stream_type, rs::core::sizeI32, std::less<rs::core::stream_type>, std::allocator<std::pair<rs::core::stream_type const, rs::core::sizeI32> > > const&, std::function<void ()>)::{lambda(GLFWwindow*, int)#3}::operator()(GLFWwindow*, int) const':
projection_viewer.cpp:(.text+0x1273): undefined reference to `glfwMakeContextCurrent'
CMakeFiles/rs_projection_tool.dir/projection_viewer.cpp.o: In function `projection_viewer::projection_viewer(std::map<rs::core::stream_type, rs::core::sizeI32, std::less<rs::core::stream_type>, std::allocator<std::pair<rs::core::stream_type const, rs::core::sizeI32> > > const&, std::function<void ()>)::{lambda(GLFWwindow*, int, int, int)#4}::operator()(GLFWwindow*, int, int, int) const':
projection_viewer.cpp:(.text+0x12d4): undefined reference to `glfwGetWindowUserPointer'
CMakeFiles/rs_projection_tool.dir/projection_viewer.cpp.o: In function `projection_viewer::projection_viewer(std::map<rs::core::stream_type, rs::core::sizeI32, std::less<rs::core::stream_type>, std::allocator<std::pair<rs::core::stream_type const, rs::core::sizeI32> > > const&, std::function<void ()>)::{lambda(GLFWwindow*, double, double)#5}::operator()(GLFWwindow*, double, double) const':
projection_viewer.cpp:(.text+0x135e): undefined reference to `glfwGetWindowUserPointer'
CMakeFiles/rs_projection_tool.dir/projection_viewer.cpp.o: In function `projection_viewer::projection_viewer(std::map<rs::core::stream_type, rs::core::sizeI32, std::less<rs::core::stream_type>, std::allocator<std::pair<rs::core::stream_type const, rs::core::sizeI32> > > const&, std::function<void ()>)::{lambda(GLFWwindow*)#6}::operator()(GLFWwindow*) const':
projection_viewer.cpp:(.text+0x13f8): undefined reference to `glfwGetWindowUserPointer'
CMakeFiles/rs_projection_tool.dir/projection_viewer.cpp.o: In function `projection_viewer::projection_viewer(std::map<rs::core::stream_type, rs::core::sizeI32, std::less<rs::core::stream_type>, std::allocator<std::pair<rs::core::stream_type const, rs::core::sizeI32> > > const&, std::function<void ()>)::{lambda(GLFWwindow*)#7}::operator()(GLFWwindow*) const':
projection_viewer.cpp:(.text+0x1484): undefined reference to `glfwGetWindowUserPointer'
projection_viewer.cpp:(.text+0x1517): undefined reference to `glfwGetWindowUserPointer'
CMakeFiles/rs_projection_tool.dir/projection_viewer.cpp.o:projection_viewer.cpp:(.text+0x152c): more undefined references to `glfwGetWindowUserPointer' follow
CMakeFiles/rs_projection_tool.dir/projection_viewer.cpp.o: In function `projection_viewer::projection_viewer(std::map<rs::core::stream_type, rs::core::sizeI32, std::less<rs::core::stream_type>, std::allocator<std::pair<rs::core::stream_type const, rs::core::sizeI32> > > const&, std::function<void ()>)::{lambda(GLFWwindow*)#7}::operator()(GLFWwindow*) const':
projection_viewer.cpp:(.text+0x1540): undefined reference to `glfwMakeContextCurrent'
projection_viewer.cpp:(.text+0x1562): undefined reference to `glfwHideWindow'
CMakeFiles/rs_projection_tool.dir/projection_viewer.cpp.o: In function `projection_viewer::projection_viewer(std::map<rs::core::stream_type, rs::core::sizeI32, std::less<rs::core::stream_type>, std::allocator<std::pair<rs::core::stream_type const, rs::core::sizeI32> > > const&, std::function<void ()>)':
projection_viewer.cpp:(.text+0x1975): undefined reference to `glfwDestroyWindow'
projection_viewer.cpp:(.text+0x1a0d): undefined reference to `glfwDestroyWindow'
projection_viewer.cpp:(.text+0x1a4c): undefined reference to `glfwWindowHint'
projection_viewer.cpp:(.text+0x1b82): undefined reference to `glfwCreateWindow'
projection_viewer.cpp:(.text+0x1ba3): undefined reference to `glfwMakeContextCurrent'
projection_viewer.cpp:(.text+0x1bd4): undefined reference to `glfwSetErrorCallback'
projection_viewer.cpp:(.text+0x1ca8): undefined reference to `glfwWindowHint'
projection_viewer.cpp:(.text+0x1cb7): undefined reference to `glfwWindowHint'
projection_viewer.cpp:(.text+0x1d18): undefined reference to `glfwCreateWindow'
projection_viewer.cpp:(.text+0x1d3f): undefined reference to `glfwMakeContextCurrent'
projection_viewer.cpp:(.text+0x1d5c): undefined reference to `glfwSetWindowUserPointer'
projection_viewer.cpp:(.text+0x1dac): undefined reference to `glfwSetWindowFocusCallback'
projection_viewer.cpp:(.text+0x1df6): undefined reference to `glfwSetCursorPosCallback'
projection_viewer.cpp:(.text+0x1e8c): undefined reference to `glfwMakeContextCurrent'
projection_viewer.cpp:(.text+0x1ea2): undefined reference to `glfwSetWindowUserPointer'
projection_viewer.cpp:(.text+0x1ee4): undefined reference to `glfwSetWindowFocusCallback'
projection_viewer.cpp:(.text+0x1f2b): undefined reference to `glfwMakeContextCurrent'
CMakeFiles/rs_projection_tool.dir/projection_viewer.cpp.o: In function `projection_viewer::mouse_click_callback(GLFWwindow*, int, int, int)':
projection_viewer.cpp:(.text+0x20bd): undefined reference to `glfwGetCursorPos'
CMakeFiles/rs_projection_tool.dir/projection_viewer.cpp.o: In function `projection_viewer::key_callback(GLFWwindow*, int, int, int, int)':
projection_viewer.cpp:(.text+0x2d71): undefined reference to `glfwMakeContextCurrent'
projection_viewer.cpp:(.text+0x2dc3): undefined reference to `glfwHideWindow'
projection_viewer.cpp:(.text+0x2e21): undefined reference to `glfwMakeContextCurrent'
projection_viewer.cpp:(.text+0x2e73): undefined reference to `glfwHideWindow'
CMakeFiles/rs_projection_tool.dir/projection_viewer.cpp.o: In function `projection_viewer::show_stream(image_type, rs::core::image_interface*)':
projection_viewer.cpp:(.text+0x3378): undefined reference to `glfwMakeContextCurrent'
CMakeFiles/rs_projection_tool.dir/projection_viewer.cpp.o: In function `projection_viewer::show_window(rs::core::image_interface*)':
projection_viewer.cpp:(.text+0x3803): undefined reference to `glfwMakeContextCurrent'
projection_viewer.cpp:(.text+0x39cf): undefined reference to `glfwGetWindowAttrib'
projection_viewer.cpp:(.text+0x39f8): undefined reference to `glfwShowWindow'
CMakeFiles/rs_projection_tool.dir/projection_viewer.cpp.o: In function `projection_viewer::draw_points(image_type, std::vector<rs::core::pointF32, std::allocator<rs::core::pointF32> >)':
projection_viewer.cpp:(.text+0x412c): undefined reference to `glfwMakeContextCurrent'
CMakeFiles/rs_projection_tool.dir/projection_viewer.cpp.o: In function `projection_viewer::update()':
projection_viewer.cpp:(.text+0x4363): undefined reference to `glfwMakeContextCurrent'
CMakeFiles/rs_projection_tool.dir/projection_viewer.cpp.o: In function `projection_viewer::terminate()':
projection_viewer.cpp:(.text+0x4ebc): undefined reference to `glfwDestroyWindow'
projection_viewer.cpp:(.text+0x4eda): undefined reference to `glfwDestroyWindow'
collect2: error: ld returned 1 exit status
sdk/src/tools/projection_tool/CMakeFiles/rs_projection_tool.dir/build.make:128: recipe for target 'sdk/src/tools/projection_tool/rs_projection_tool' failed
make[2]: *** [sdk/src/tools/projection_tool/rs_projection_tool] Error 1
CMakeFiles/Makefile2:666: recipe for target 'sdk/src/tools/projection_tool/CMakeFiles/rs_projection_tool.dir/all' failed
make[1]: *** [sdk/src/tools/projection_tool/CMakeFiles/rs_projection_tool.dir/all] Error 2
Makefile:127: recipe for target 'all' failed
make: *** [all] Error 2
Any Idea?
Thanks in advance
I'm trying to use the record/playback code with the Intel Realsense R200 on ubuntu 16.04.
I added glfw windows to view the stream in the playback code.
When I record more than 250 frames, the images start getting darker/losing color as seen below:
Why do the colors fade? This is not an issue I face when streaming from the camera directly.
Any advice/help would be greatly appreciated.
thanks
OpenCV is a significant dependency. Consumers of this SDK-level functionality will often be linking against some other version of OpenCV in their own applications.
I didn't really see much utilization other than the use of the HighGui module. Since GLFW also seems to be a dependency, I recommend that ImGui be used for UI functionality instead.
Is this video module API documented anywhere? At first glance (https://github.com/IntelRealSense/realsense_sdk/blob/master/sdk/src/samples/video_module_sample/video_module_mock.h) it is entirely unclear what purpose the API or example serves.
the currently inflated title of this repository "realsense_sdk" will cause a lot of confusion.
determine what is the unique new value added by this code contribution and rename accordingly.
perhaps "rs_file_streaming" with the first line in the description explaining that this repo provides a utility for saving and re-loading data streamed from librealsense based depth cameras.
if smart pointers are needed, use std::shared_ptr rather than recreating a custom version.
In general, stick to the standard library.
I would love to develop against the SDK on an OSX environment, as well.
Hi,
I've bought a new SR300 dev kit, on windows it works fine but in linux using this driver I can't get the IR and depth image, (tried all the samples, also the ROS version, all working with 2 other F200 and R200 sensors that I have but not with the SR300).
In ROS, the output IR image is constant 0.0 for all the pixels.
The SR300 came with 3.15.0.0 firmware, upgrading to following firmware did not solve the issue:
Intel RealSense SR300, Firmware: 3.17.0.0.
Can you please lead me to correct direction (if it is a data conversion issue (which probably is) or because of driver issue).
Thanks
Building librealsense
from master
branch using following commands:
mkdir build
cd build
make -j 4
Produces output:
/home/kotlyar/software/realsense_sdk/samples/src/fps_counter_sample/main.cpp:10:31: fatal error: librealsense/rs.hpp: No such file or directory
#include <librealsense/rs.hpp>
^
compilation terminated.
There is no file named "rs.hpp" in the source tree.
Hey guys,
I've got a RealSense SR300 and I was trying to use RealSense SDK to create a fusion image which used the code below approximately.
intrinsics color_intrin = convert_intrinsics(device->get_stream_intrinsics(rs::stream::color));
intrinsics depth_intrin = convert_intrinsics(device->get_stream_intrinsics(rs::stream::depth));
extrinsics extrin = convert_extrinsics(device->get_extrinsics(rs::stream::depth, rs::stream::color));
// ...
// Got the color image and depth image using the code about the same as in the projection sample.
// ...
// Using the functions below to create fusion image.
auto colorImageMappedToDepth = get_unique_ptr_with_releaser(projection_->create_color_image_mapped_to_depth(depthImage.get(), colorImage.get()));
auto depthImageMappedToColor = get_unique_ptr_with_releaser(projection_->create_depth_image_mapped_to_color(depthImage.get(), colorImage.get()));
I tried to print out extrin
's rotation and translation components and it seemed valid. But soon after I created both of the two mapped images, I found out that the translation parameter in the extrinsic is weird. By which I mean either color image or the depth image is shifted horizontally -ish and the mapped images are not in the right place.
I tried to extrin.translation[0] *= 10
to enlarge the x component of translation, and this fixed part of the problem and it seemed almost right but still shifted (after all it's just a work around).
I don't know whether the parameters fixed for every SR300 or it's read dynamically from every hardware and values are all different. But either way I think something is wrong about the extrinsic parameters, or the way I took it.
Any ideas about this situation?
[ 34%] Linking CXX shared library librealsense_viewer.so
/srv/maverick/var/build/realsense-sdk/sdk/src/cameras/playback/disk_read_base.cpp: In member function ‘std::map<rs_stream, std::shared_ptr<rs::core::file_types::frame_sample> > rs::playback::disk_
read_base::find_nearest_frames(uint32_t, rs_stream)’:
/srv/maverick/var/build/realsense-sdk/sdk/src/cameras/playback/disk_read_base.cpp:479:76: error: conversion to ‘std::vector<std::shared_ptr<rs::core::file_types::sample> >::size_type {aka unsigned
int}’ from ‘std::map<rs_stream, long long unsigned int>::mapped_type {aka long long unsigned int}’ may alter its value [-Werror=conversion]
auto prev = capture_time > m_samples_desc[prev_index[it->first]]->info.capture_time ?
^
/srv/maverick/var/build/realsense-sdk/sdk/src/cameras/playback/disk_read_base.cpp:480:69: error: conversion to ‘std::vector<std::shared_ptr<rs::core::file_types::sample> >::size_type {aka unsigned
int}’ from ‘std::map<rs_stream, long long unsigned int>::mapped_type {aka long long unsigned int}’ may alter its value [-Werror=conversion]
(capture_time - m_samples_desc[prev_index[it->first]]->info.capture_time ):
^
/srv/maverick/var/build/realsense-sdk/sdk/src/cameras/playback/disk_read_base.cpp:481:55: error: conversion to ‘std::vector<std::shared_ptr<rs::core::file_types::sample> >::size_type {aka unsigned
int}’ from ‘std::map<rs_stream, long long unsigned int>::mapped_type {aka long long unsigned int}’ may alter its value [-Werror=conversion]
( m_samples_desc[prev_index[it->first]]->info.capture_time - capture_time );
^
/srv/maverick/var/build/realsense-sdk/sdk/src/cameras/playback/disk_read_base.cpp:482:76: error: conversion to ‘std::vector<std::shared_ptr<rs::core::file_types::sample> >::size_type {aka unsigned
int}’ from ‘std::map<rs_stream, long long unsigned int>::mapped_type {aka long long unsigned int}’ may alter its value [-Werror=conversion]
auto next = capture_time > m_samples_desc[next_index[it->first]]->info.capture_time ?
^
/srv/maverick/var/build/realsense-sdk/sdk/src/cameras/playback/disk_read_base.cpp:483:68: error: conversion to ‘std::vector<std::shared_ptr<rs::core::file_types::sample> >::size_type {aka unsigned
int}’ from ‘std::map<rs_stream, long long unsigned int>::mapped_type {aka long long unsigned int}’ may alter its value [-Werror=conversion]
capture_time - m_samples_desc[next_index[it->first]]->info.capture_time :
^
/srv/maverick/var/build/realsense-sdk/sdk/src/cameras/playback/disk_read_base.cpp:484:53: error: conversion to ‘std::vector<std::shared_ptr<rs::core::file_types::sample> >::size_type {aka unsigned
int}’ from ‘std::map<rs_stream, long long unsigned int>::mapped_type {aka long long unsigned int}’ may alter its value [-Werror=conversion]
m_samples_desc[next_index[it->first]]->info.capture_time - capture_time;
^
/srv/maverick/var/build/realsense-sdk/sdk/src/cameras/playback/disk_read_base.cpp:485:72: error: conversion to ‘std::vector<std::shared_ptr<rs::core::file_types::sample> >::size_type {aka unsigned
int}’ from ‘std::map<rs_stream, long long unsigned int>::mapped_type {aka long long unsigned int}’ may alter its value [-Werror=conversion]
sample = prev > next ? m_samples_desc[next_index[it->first]] : m_samples_desc[prev_index[it->first]];
^
/srv/maverick/var/build/realsense-sdk/sdk/src/cameras/playback/disk_read_base.cpp:485:112: error: conversion to ‘std::vector<std::shared_ptr<rs::core::file_types::sample> >::size_type {aka unsigne
d int}’ from ‘std::map<rs_stream, long long unsigned int>::mapped_type {aka long long unsigned int}’ may alter its value [-Werror=conversion]
sample = prev > next ? m_samples_desc[next_index[it->first]] : m_samples_desc[prev_index[it->first]];
^
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.