From 6045ae856b19fbd71583278cc33370875a274b96 Mon Sep 17 00:00:00 2001 From: Anatoly Baksheev Date: Fri, 12 Jul 2013 23:59:19 +0400 Subject: [PATCH] reshape continuous clouds for better performance. --- modules/viz/src/simple_widgets.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/viz/src/simple_widgets.cpp b/modules/viz/src/simple_widgets.cpp index 9386c85639..d9184d365b 100644 --- a/modules/viz/src/simple_widgets.cpp +++ b/modules/viz/src/simple_widgets.cpp @@ -635,7 +635,12 @@ temp_viz::CloudWidget::CloudWidget(InputArray _cloud, InputArray _colors) Mat colors = _colors.getMat(); CV_Assert(cloud.type() == CV_32FC3 || cloud.type() == CV_64FC3 || cloud.type() == CV_32FC4 || cloud.type() == CV_64FC4); CV_Assert(colors.type() == CV_8UC3 && cloud.size() == colors.size()); - + + if (cloud.isContinuous() && colors.isContinuous()) + { + cloud.reshape(cloud.channels(), 1); + colors.reshape(colors.channels(), 1); + } vtkIdType nr_points; vtkSmartPointer polydata = CreateCloudWidget::create(cloud, nr_points);