Merge remote-tracking branch 'origin/2.4' into merge-2.4

Conflicts:
	modules/imgproc/src/opencl/precornerdetect.cl
	modules/nonfree/perf/perf_main.cpp
	modules/nonfree/perf/perf_surf.ocl.cpp
	modules/ocl/src/arithm.cpp
	modules/ocl/src/gftt.cpp
	modules/ocl/src/opencl/arithm_bitwise.cl
	modules/ocl/src/opencl/arithm_bitwise_binary_scalar_mask.cl
	modules/ocl/src/opencl/arithm_minMax.cl
	modules/ocl/src/opencl/arithm_nonzero.cl
	modules/ocl/src/opencl/arithm_sum.cl
	modules/ocl/test/test_arithm.cpp
	modules/viz/src/precomp.hpp
	modules/viz/src/vizcore.cpp
	modules/viz/src/vtk/vtkCloudMatSink.h
	modules/viz/src/vtk/vtkXYZReader.cpp
	modules/viz/src/vtk/vtkXYZReader.h
	modules/viz/test/test_precomp.hpp
This commit is contained in:
Roman Donchenko
2014-03-17 14:14:07 +04:00
34 changed files with 2130 additions and 869 deletions

View File

@@ -63,6 +63,8 @@ namespace cv
Color(const Scalar& color);
operator Vec3b() const;
static Color black();
static Color blue();
static Color green();
@@ -193,6 +195,8 @@ inline cv::viz::Color::Color(double _gray) : Scalar(_gray, _gray, _gray) {}
inline cv::viz::Color::Color(double _blue, double _green, double _red) : Scalar(_blue, _green, _red) {}
inline cv::viz::Color::Color(const Scalar& color) : Scalar(color) {}
inline cv::viz::Color::operator cv::Vec3b() const { return cv::Vec3d(val); }
inline cv::viz::Color cv::viz::Color::black() { return Color( 0, 0, 0); }
inline cv::viz::Color cv::viz::Color::green() { return Color( 0, 255, 0); }
inline cv::viz::Color cv::viz::Color::blue() { return Color(255, 0, 0); }

View File

@@ -114,6 +114,8 @@ namespace cv
double getRenderingProperty(const String &id, int property);
void setRepresentation(int representation);
void setGlobalWarnings(bool enabled = false);
private:
struct VizImpl;

View File

@@ -201,6 +201,7 @@ namespace cv
class CV_EXPORTS WPolyLine : public Widget3D
{
public:
WPolyLine(InputArray points, InputArray colors);
WPolyLine(InputArray points, const Color &color = Color::white());
};
@@ -345,6 +346,8 @@ namespace cv
void addCloud(InputArray cloud, InputArray colors, const Affine3d &pose = Affine3d::Identity());
//! All points in cloud have the same color
void addCloud(InputArray cloud, const Color &color = Color::white(), const Affine3d &pose = Affine3d::Identity());
//! Repacks internal structure to single cloud
void finalize();
};
class CV_EXPORTS WCloudNormals : public Widget3D
@@ -360,6 +363,18 @@ namespace cv
WMesh(InputArray cloud, InputArray polygons, InputArray colors = noArray(), InputArray normals = noArray());
};
class CV_EXPORTS WWidgetMerger : public Widget3D
{
public:
WWidgetMerger();
//! Add widget to merge with optional position change
void addWidget(const Widget3D& widget, const Affine3d &pose = Affine3d::Identity());
//! Repacks internal structure to single widget
void finalize();
};
/////////////////////////////////////////////////////////////////////////////
/// Utility exports
@@ -389,6 +404,7 @@ namespace cv
template<> CV_EXPORTS WCloudCollection Widget::cast<WCloudCollection>();
template<> CV_EXPORTS WCloudNormals Widget::cast<WCloudNormals>();
template<> CV_EXPORTS WMesh Widget::cast<WMesh>();
template<> CV_EXPORTS WWidgetMerger Widget::cast<WWidgetMerger>();
} /* namespace viz */
} /* namespace cv */