From 2896ed61478c3861695fac4de97c27e6403cf1b0 Mon Sep 17 00:00:00 2001 From: TinyO Date: Thu, 24 Oct 2019 16:24:16 +0800 Subject: [PATCH] fix(sample) sample save single img --- samples/save_single_image.cc | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/samples/save_single_image.cc b/samples/save_single_image.cc index b939765..2e15b09 100644 --- a/samples/save_single_image.cc +++ b/samples/save_single_image.cc @@ -38,15 +38,29 @@ int main(int argc, char *argv[]) { while (true) { api->WaitForStreams(); - auto &&left_data = api->GetStreamData(Stream::LEFT); - auto &&right_data = api->GetStreamData(Stream::RIGHT); + static api::StreamData left_data; + static api::StreamData right_data; + static api::StreamData depth_data; + + auto right_data_tmp = api->GetStreamData(Stream::RIGHT_RECTIFIED); + if (!right_data_tmp.frame.empty()) { + right_data = right_data_tmp; + } + auto left_data_tmp = api->GetStreamData(Stream::LEFT_RECTIFIED); + if (!left_data_tmp.frame.empty()) { + left_data = left_data_tmp; + } + if (!left_data.frame.empty() && !right_data.frame.empty()) { cv::Mat img; cv::hconcat(left_data.frame, right_data.frame, img); cv::imshow("frame", img); } - auto &&depth_data = api->GetStreamData(Stream::DEPTH); + auto depth_data_tmp = api->GetStreamData(Stream::DEPTH); + if (!depth_data_tmp.frame.empty()) { + depth_data = depth_data_tmp; + } if (!depth_data.frame.empty()) { cv::imshow("depth_real", depth_data.frame); // CV_16UC1 }